JAVA类声明中关键字public起到什么作用呢?如下Hello类的声明,按着字面的意思理解是:Hello类是公共的,
要求Hello类与类文件名必须保持一致,并且一个java文件中只能有一个public关键字声明的类。
public class Hello{
public static void main(String args[]){
System.out.println("Hello JAVA!");
}
}
如果关键字public命名的类Hello与类文件名不一致,如下图:
程序编译时就会报错:
使用public关键字正确命名与类名保持一致:
使用public关键字正确命名与类名保持一致,Hello.java文件可以正常编译,可以正确执行:
如果,java文件中类命名不使用public关键字,那么类声明可以不与java文件保持一致,如下代码所示:
HelloDemo.java可以正常编译,但是,会产生一个HelloModle.class文件:
那么,编译HelloDemo.java后,要执行的文件也变为HelloModle.class了:
如果HelloDemo.java中有多个非public关键字声明的类,就会产生多个与之相应的.class文件。
总结:使用public关键字声明的类必须与java文件名保持一致,并且一个java文件中只能有一个public关键字修饰的类名称,
编译后会产生一个与java文件名相应的.class文件,而一个java文件中可以同时又多个不使用public关键字声明的类,但是编
译后会产生多个与之对应的.class文件,并且要执行的文件是对应的多个.class的前缀名。