[英]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
通过不使用public
, protected
或private
,Grade enum具有默认访问级别 - 这意味着只有同一个包中的其他类才能使用它。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.