• 关于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
  • 相关阅读:
    a标签上window.location.href无法跳转
    Directive指令的scope配置项使用说明
    Echarts 里面获取纵坐标刻度的间距
    使用 Supervsior 守护进程
    linux 下的快捷键操作
    前端必须掌握的 nginx 技能(4)
    在 vue 中用 transition 实现轮播效果
    前端必须掌握的 nginx 技能(3)
    前端必须掌握的 nginx 技能(2)
    前端必须掌握的 nginx 技能(1)
  • 原文地址:https://www.cnblogs.com/breakyizhan/p/13263148.html
Copyright © 2020-2023  润新知