这是我的超类,在那里我创建了一个私人枚举
public class Media {
private String Title;
private enum Genre { Comedy, Horror, Action, Romance, Documentary, Thriller, Drama}
Genre genre;
public Media ()
{
}
public Media(String t, Genre g){
this.Title=t;
genre=g;
}
现在我想在子类中使用它
public class Movies extends Media{
private String regi;
private int playtime;
public Movies(){
}
public Movies(String t, Genre g, String r, int playt)
{
setTitle(t);
genre=g;
this.regi=r;
this.playtime=playt;
}
但是它不起作用,因为当我发送创建Movie对象的方法的类型时,它告诉我枚举是私有的吗?不能有一个私有枚举,并且不能在其他类或子类中使用它?
答案 0 :(得分:1)
使用枚举protected
代替private
protected enum Genre { Comedy, Horror, Action, Romance, Documentary, Thriller, Drama}
Private
意味着只能在其声明的类中访问。
Protected
与私有相同,但派生类可以访问。
Public
表示可以访问所有
答案 1 :(得分:0)
我不是Java方面的专家,但是在定义可见性的情况下。如果要将范围限制为当前类,则定义一个 private 成员(属性,属性,方法)。如果希望从派生类访问但将范围保留到该类或派生类,则应将其定义为受保护的。 我强烈建议您阅读一些有关该内容的信息,因为了解所有这些基本概念至关重要。