首页 > 解决方案 > 如何在其他类中使用私有枚举

问题描述

这是我的超类,我在其中创建了一个私有枚举

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;
}

但它不起作用,因为它告诉我当我发送类型以创建电影对象的方法时枚举是私有的?是否不可能拥有私有枚举而不在其他类或子类中使用它?

标签: javaenumsprivate

解决方案


制作枚举protected而不是private

protected enum Genre { Comedy, Horror, Action, Romance, Documentary, Thriller, Drama}

Private意味着只能在其声明的类中访问。

Protected与私有相同,但派生类可以访问。

Public意味着访问所有


推荐阅读