zoukankan      html  css  js  c++  java
  • 关于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
  • 相关阅读:
    第17章—前端分页(Bootstrap-Table)
    第16章—日志(slf4j&logback)
    第15章—数据库连接池(DBCP2)
    第14章—数据库连接池(C3P0)
    第13章—数据库连接池(Druid)
    第00章—IDEA
    第12章—整合Redis
    第11章—常用注解(持续更新中)
    获取图片的宽高
    button按钮文字超出范围后省略号位置设置
  • 原文地址:https://www.cnblogs.com/breakyizhan/p/13263148.html
Copyright © 2011-2022 走看看