JAVA 类声明中关键字public的作用
2017-11-25 22:10
225 查看
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的前缀名。
类文件名必须保持一致,并且一个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的前缀名。
相关文章推荐
- java作用域关键字public ,private ,protected 及不写时的区别
- Java中的基础-----static关键字的作用
- 关于java——public、private、protected、默认值作用域问题
- java中synchronized关键字作用分析
- java中synchronized关键字作用分析
- Java中final关键字的作用
- Java接口中的成员变量为什么必须声明为public static final?
- java中关键字volatile的作用
- Swift中声明协议中的class关键字的作用
- 深入解析Java中volatile关键字的作用
- 浅谈Java中transient关键字的作用
- java作用域public ,private ,protected 及不写时的区别
- c++中的声明和定义的区别,以及关键字extern的作用
- Java中Native关键字的作用(转)
- 一个java文件内只能有一个public类 其他非内部类的权限声明如下
- 如何查找java的关键字及相应作用
- java中的作用域(public ,private ,protected以及无访问控制符)
- java中关键字volatile的作用
- java中关键字volatile的作用
- Java之public class和class声明区别