java - java继承枚举值

标签 java class inheritance enums

所以我进行了搜索,希望找到某种想法或解决方法。

我有一个名为 movie 的基类,其实例变量为 id、name、bored 和borrower。然后,这个电影类由两个类bluray 和dvd 派生。基本上长话短说,它们都是在我正在构建的库类中构建的。在电影类型中,我想创建一个名为 Genre 的枚举变量,其中包含可应用于电影的类型。但是我不确定如何将此枚举变量继承到 Bluray 和 DVD 类。

有人告诉我这是可以做到的,但如果有人能阐明我如何做到这一点,那就太好了!

最佳答案

Within the movie type I want to create an enum variable named genre which holds the genre's that can be applied to the movie. However I am not sure how I go about inheriting this enum variable to the bluray and dvd class.

只需将其设为非私有(private)电影类型的成员即可。 (或者只是同一包中电影类型之外的枚举。)然后 Bluray 和 DVD 类将可以访问它。

示例:

电影.java:

public class Movie {

    public enum Genre {
        Horror,
        SciFi,
        RomCom
    };

    protected Genre genre;

    public Movie(Genre g) {
        this.genre = g;
    }
}

BluRay.java:

public class BluRay extends Movie {

    public BluRay(Genre g) {
        super(g);
    }
}

请注意,Genre 根本不必位于 Movie 中,如果不是(仅在同一个包中或相似的)。但如果您想要电影中的流派,您可以在那里找到。

<小时/>

旁注:您没有要求对您的设计提供反馈,但FWIW我可能不会将 Genre 设为枚举,因为那样您就必须重新编译才能添加流派,这似乎就像一个普通的操作。

关于java - java继承枚举值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19653583/

相关文章:

c# 将类属性标记为脏

javascript - 简单的 JavaScript 查询

c++ - 在 Eclipse C++ 中无法识别 protected 成员

c# - C# 中的虚函数

java - 如何使用aspectj获取封闭类型

java - 未找到用于评估器定义的 Drools 类

php - 如何从另一个 PHP 类连接到 MongoDB?

c# - 为什么最终输出为零 : OOPS sample

java - 是否可以动态设置 SpringBootTest 属性?

从 servlet 返回到 JSP 时,Javascript 更改消失