• 关于Java中文件名和类名的误解


    [

    关于Java中文件名和类名的误解

    在java类中给出的第一个讲义是“在java文件名和类名中应该是相同的”。当违反上述法律时,会出现编译器错误信息,如下所示

    /***** File name: Trial.java ******/
    public class Geeks
    {
       public static void main(String[] args) {
            System.out.println("Hello world");
       }
    }

    输出:

    javac Trial.java
    Trial.java:9: error: class Geeks is public, should be
                        declared in a file named Geeks.java
    public class Geeks
    ^
    1 error

    但是这个神话可以通过编译上述文件的方式来违反。

    /***** File name: Trial.java ******/
    class Geeks
    {
        public static void main(String[] args) {
            System.out.println("Hello world");
        }
    }
    第1步:javac Trial.java

    Step1将创建一个没有任何错误消息的Geeks.class(字节码),因为该类不是公共的。

    第2步:Java Geeks

    现在输出将是Hello world

    只有在公开声明类时,关于文件名和类名的说法应该是相同的。

    上述程序的工作原理如下:
    关于Java中文件名和类名的误解

    现在可以执行这个.class文件。通过上述功能,可以完成更多的奇迹。在java文件中可能有很多类。为了调试目的,可以使用这种方法。每个类都可以单独执行以测试它们的功能(仅在一个条件下:不应使用继承概念)。

    但总的来说,遵循java的规则还是好的。

    例如:

    /*** File name: Trial.java ***/
    class ForGeeks
    {
       public static void main(String[] args){
          System.out.println("For Geeks class");
       }
    }
    
    class GeeksTest
    {
       public static void main(String[] args){
          System.out.println("Geeks Test class");
       }
    }

    当上述文件编译为javac时,Trial.java将创建两个.class文件,分别为ForGeeks.class和GeeksTest.class。
    由于每个类都有单独的main()存根,因此可以单独进行测试。
    当执行java ForGeeks时,输出是For Geeks类。
    当执行java GeeksTest时,输出是Geeks Test类。

    ]
    转载请保留页面地址:https://www.breakyizhan.com/java/3728.html
  • 相关阅读:
    ThinkPHP模版引擎之变量输出具体解释
    Heat-AutoScaling
    開始搭建第一个zookeeper
    OpenCV学习笔记(六十二)——《OpenCV Computer Version with Python》阅读摘要
    Oracle可插拔数据库的jdbc连接串写法
    MVVM设计模式基础知识--ICommand接口
    CodeForces
    一见钟情Sublime
    # 从零開始搭建Hadoop2.7.1的分布式集群
    C语言遍历文件和文件夹——————【Badboy】
  • 原文地址:https://www.cnblogs.com/breakyizhan/p/13263148.html
Copyright © 2020-2023  润新知