一个JAVA类文件中只能有一个public类吗?
时间:2017-10-05 21:52:19
收藏:0
阅读:359
测试代码一:
1 public class Test {
2 public static void main(String[] args) {
3
4 }
5 }
6 public class Test1{
7
8 }
测试结果:
(公有类TestTwo必须定义在它自己的类文件中)
结论:所以,一个类文件只能有一个public类。
测试代码二:
1 public class Test {
2 public static void main(String[] args) {
3
4 }
5 public class innerClass{
6
7 }
8 }
测试结果:
(编译通过)
其中innerClass为Test内部类。
通过查找资料得知:
内部类可以拥有private访问权限、protected访问权限、public访问权限及包访问权限。比如上面的例子,如果成员内部类Inner用private修饰,则只能在外部类的内部访问,如果用public修饰,则任何地方都能访问;如果用protected修饰,则只能在同一个包下或者继承外部类的情况下访问;如果是默认访问权限,则只能在同一个包下访问。这一点和外部类有一点不一样,外部类只能被public和包访问两种权限修饰。(来源:Java内部类详解)
结论:
- java源文件中直接定义的public类只能有一个,且该类名必须与源文件名一致。
- 内部类可以理解为外部类的一个成员,成员可以用public修饰。
原文:http://www.cnblogs.com/lzq666/p/7630037.html
评论(0)