美文网首页java基础知识
javaSE学习-public class和class的区别

javaSE学习-public class和class的区别

作者: 程序员三千_ | 来源:发表于2019-02-18 11:28 被阅读48次

类的定义有两种方式:

public class 类名

class 类名

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

World.java 错误: 类HelloWorld是公共的, 应在名为 HelloWorld.java 的文件中声明

public class HelloWorld{

^

1 个错误

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

classHelloWorld{publicstaticvoidmain(String[] args){        System.out.println("Hello World");    }}

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

publicclassHelloWorld{publicstaticvoidmain(String[] args){        System.out.println("Hello World");    }}classA{}classB{}classC{}

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

生成多个class文件

相关文章

网友评论

    本文标题:javaSE学习-public class和class的区别

    本文链接:https://www.haomeiwen.com/subject/xmfaeqtx.html