Java 继承枚举值
所以我一直在搜索,希望能找到一些想法或方法 我有一个名为movie的基类,其实例变量为id、name、loaned和follower。然后,这个电影类由两个类bluray和dvd派生。基本上长话短说,它们都是在我正在构建的图书馆类中构建的。在电影类型中,我想创建一个名为genre的枚举变量,该变量保存可应用于电影的流派。但是,我不确定如何将此枚举变量继承到bluray和dvd类 有人告诉我这是可以做到的,但如果有人能告诉我怎么做,那就太好了 在电影类型中,我想创建一个名为genre的枚举变量,该变量保存可应用于电影的流派。但是,我不确定如何将此枚举变量继承到bluray和dvd类 只需将其设置为非私有的电影类型的成员即可。(或者只是同一个包中的一个枚举,在电影类型之外。)然后bluray和dvd类将可以访问它 例如:Java 继承枚举值,java,class,inheritance,enums,Java,Class,Inheritance,Enums,所以我一直在搜索,希望能找到一些想法或方法 我有一个名为movie的基类,其实例变量为id、name、loaned和follower。然后,这个电影类由两个类bluray和dvd派生。基本上长话短说,它们都是在我正在构建的图书馆类中构建的。在电影类型中,我想创建一个名为genre的枚举变量,该变量保存可应用于电影的流派。但是,我不确定如何将此枚举变量继承到bluray和dvd类 有人告诉我这是可以做到的,但如果有人能告诉我怎么做,那就太好了 在电影类型中,我想创建一个名为genre的枚举变量,该
Movie.java
:
public class Movie {
public enum Genre {
Horror,
SciFi,
RomCom
};
protected Genre genre;
public Movie(Genre g) {
this.genre = g;
}
}
public class BluRay extends Movie {
public BluRay(Genre g) {
super(g);
}
}
BluRay.java
:
public class Movie {
public enum Genre {
Horror,
SciFi,
RomCom
};
protected Genre genre;
public Movie(Genre g) {
this.genre = g;
}
}
public class BluRay extends Movie {
public BluRay(Genre g) {
super(g);
}
}
请注意,类型
根本不必在电影
中,如果不在电影中,您可能会感觉更好(只是在相同的软件包或类似的软件包中)。但是如果你想在电影
中找到类型
,你可以在那里找到它
旁注:您没有要求反馈您的设计,但FWIW我可能不会将
流派
作为枚举,因为这样您就必须重新编译才能添加流派,这似乎是一个常见的操作。您可以将枚举声明为与类分离(在新文件中)然后在movie类中使用,我在其中声明枚举类型的可变movie_类型。当您要使用父类的成员时,必须提供对它的访问权限
Java规范将访问模块设置为public、protected(默认)、private
如果您将access modyfier设置为protected,您将能够读取和写入该成员
顺便说一句
由于性别的变化,以枚举的形式存储性别的想法不是最好的设计,您必须在应用程序开始时添加每种性别
枚举的好解决方案是设备类型。例如DVD或CD,因为这是您可以轻松管理的东西 @s的可能副本ᴜʀᴇsʜᴀᴛᴛᴀ: 不,她不是在问如何从枚举中派生。谢谢你的T.J!简单而有效!