java详析class和public class区别

 

public class和class的区别
类的定义有两种方式:

  • public class 类名
  • class 类名

我可以将class前面的public去掉,如果采用public class来声明class,那么文件名必须和类名一致,这是规定,如果文件名和类名不一致,怎样呢?我们来把之前的那个HelloWorld.java的文件名修改一下,比如我改成了World.java,然后执行javac命令,可以看到如下报错信息:

如果使用class来声明类,文件名可以是任何合法的文件名称,文件名不需要和Class类一致,我把代码里面的public去掉,文件名依然是World.java,使用javac命令重新编译,可以看到生成了一个新的HelloWorld.class文件,然后运行java HelloWorld,可以看到程序依然可以正常运行。通过这里可以得出一个结论就是,使用javac命令所编译出的class文件的名称跟java的文件名没有关系,而是跟类名一致。

 

在一个Java文件里面,可以声明多个class,但是只能声明一个public class,示例代码:

使用javac命令编译后,你会发现每个class都会生成一个对应的.class文件

 

posted @ 2018-07-14 23:08  轮回守护  阅读(5852)  评论(1编辑  收藏  举报