将java类声明为私有触发器编译错误

时间:2018-02-18 12:56:54

标签: java

根据java教程https://docs.oracle.com/javase/tutorial/java/javaOO/classdecl.html

  

您还可以添加公共或私人等修饰符   开头 - 所以你可以看到一个类声明的开头行   会变得很复杂。修饰符public和private,其中   确定其他类可以访问MyClass,稍后会讨论   在本课中。接口和继承的课程将解释   如何以及为什么要在一个中使用extends和implements关键字   班级宣言。目前你不需要担心这些   额外的并发症。

     

通常,类声明可以按顺序包含这些组件:

     
      
  1. 稍后您将会遇到的修改器,例如public,private和其他一些修改器。
  2.   
  3. 班级名称,首字母按大会大写。
  4.   
  5. 类的父级(超类)的名称(如果有),前面是关键字extends。一个类只能扩展(子类)一个父类。
  6.   
  7. 由类实现的以逗号分隔的接口列表(如果有),前面是关键字implements。一个类可以实现更多   比一个界面。
  8.   
  9. 班级团体,被大括号包围,{}。
  10.   

但是当使用私有修饰符声明一个类(顶级类)时,编译器会抱怨一条消息Modifier'private'不允许使用。

这是我的代码

protected

和编译中的错误消息

private class MyPrivateClass {

}

1 个答案:

答案 0 :(得分:2)

来自section 8.1.1 of the Java Language Specification (JLS)

  

访问修饰符protectedprivate仅适用于直接封闭类或枚举声明中的成员类。

换句话说,只有将私有类包含在另一个类中时才允许私有类。