【发布时间】:2011-04-12 00:19:18
【问题描述】:
我可以使用访问说明符“public”或默认创建主类。
但是为什么我不能使用受保护的方式创建。作为默认本身允许为什么不保护。
公开:
public class MainClass {
public static void main(String[] args) {
}
}
默认值:
class MainClass {
public static void main(String[] args) {
}
}
受保护:
protected class MainClass {
public static void main(String[] args) {
}
}
显示错误: MainClass 类的非法修饰符;只允许 public、abstract 和 final MainClass.java SCJP/src line 1 Java Problem
【问题讨论】:
-
基本上
public表示该类在其包外部 可见,而default 或package 范围意味着它仅可见到同一包内的其他类。要保护的顶级类型的语义是什么?因为protected通常指的是继承的特性(只对子类可见),所以它只对内部类有意义。
标签: java