【发布时间】:2016-06-28 07:18:31
【问题描述】:
我有一个abstract class A,我希望它强制其子类具有String Title 和String Description 属性。因此,如果B extends A,则 B 的属性 Title 保证在 B 的所有实例中都具有相同的值。
如果 Java 允许静态抽象方法(即,必须在每个子类中的静态方法),我会写
public abstract class A {
public static abstract String getTitle();
public static abstract String getDescription();
}
到目前为止,我想出的最佳想法是使用单独的枚举来存储每个子类的 Title 和 Description。这样我就可以通过一个循环查看所有Titles,并用我需要的标题实例化一个子类(这是所需的行为)。不幸的是,这样我每次添加子类时都必须更改枚举。有没有更好的办法?
【问题讨论】:
标签: java inheritance