我正在开发一个较大的Java类层次结构,其中一些具有我在运行时查询感兴趣的特定属性(该属性绝对仅适用于类,而不是特定实例).
我可以创建一个抽象的布尔方法isFooBar(),子类可以实现它来指示属性是否存在:
public abstract class MyBaseClass {
...
public abstract boolean isFooBar();
}
或者我可以使用标记接口FooBarProperty并对接口执行instanceof检查:
public class MyConcreteClass extends MyBaseClass implements FooBarProperty {
...
}
或者我猜您甚至可以使用AmitD建议的注释:
@FooBarAnnotation
public class MyConcreteClass extends MyBaseClass {
...
}
最佳答案