繁体   English   中英

我是否需要在其自己的文件中将枚举定义为“公共”,以便可以在其自己的包之外识别它?

[英]Do I need to define an enum as 'public' in its own file so it can be recognized outside its own package?

我有两个包 - x和y。

x包含Student类和Grade枚举。

y包含Klass类。

为什么类型Student.Grade.C在包y中的Klass类中无法识别?

我是否需要在自己的文件中定义它并将其公开?

package x;

enum Grade { A, B, C, D, F, INCOMPLETE };

public class Student {

// blah, blah, member variables, getters, setters, constructors    

}


package y;

public class Klass {

 // This enum type is not recognized in this package
 public static final MINIMUM_GRADE = Student.Grade.C; 

}

是的,您必须声明枚举公开。 你不应该把它放在自己的文件中。

你可以访问就像你的例子Student.Grade.C ;

您可以import Student.Grade并在代码中使用C

通过不使用publicprotectedprivate ,Grade enum具有默认访问级别 - 这意味着只有同一个包中的其他类才能使用它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM