我有两个包 - x和y。
x包含Student
类和Grade
枚举。
y包含Klass
类。
为什么在包y的Student.Grade.C
类中无法识别类型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;
}
答案 0 :(得分:10)
是的,您必须声明枚举公开。你不应该把它放在自己的文件中。
您可以像示例Student.Grade.C
;
您可以import Student.Grade
在代码中使用C
。
答案 1 :(得分:4)
如果不使用public
,protected
或private
,则成绩枚举有the default access level - 这意味着只有同一个包中的其他类才能使用它。