java - 如何在其他类中使用私有枚举
问题描述
这是我的超类,我在其中创建了一个私有枚举
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;
}
但它不起作用,因为它告诉我当我发送类型以创建电影对象的方法时枚举是私有的?是否不可能拥有私有枚举而不在其他类或子类中使用它?
解决方案
制作枚举protected
而不是private
protected enum Genre { Comedy, Horror, Action, Romance, Documentary, Thriller, Drama}
Private
意味着只能在其声明的类中访问。
Protected
与私有相同,但派生类可以访问。
Public
意味着访问所有
推荐阅读
- gitlab - Gitlab CI/CD 使用存储库
- tomcat - Tomcat访问日志:从会话中的对象添加属性值
- firebase - 颤振,尝试检查项目是否已为用户添加到购物车,但该功能仅发生
- c# - WPF C# TreeView 获取所选项目的文本
- javascript - 如何使用 webpack 提供脚本文件?
- macos - 有没有办法在 Safari 中编辑我的 cookie?
- javascript - 如何遍历对象数组并根据 JavaScript 中的条件添加新的对象键?
- c++ - 为什么我的转置表会导致我的国际象棋引擎挂起棋子?
- syntax - 问候:我在 python 上的代码有问题。它给了我语法错误。如何解决?
- reactjs - FullCalendar 显示当月某天的每个事件