有些类有许多继承自的接口(interface)。
我想在我的重写方法中明确说明我的方法重写了哪些接口(interface)或类,这样当我一个月后回顾我的代码时,我不必对正在实现的每个接口(interface)进行线性搜索,并且正在扩展类以查找正在覆盖哪个接口(interface)或类的方法。
情况:
class Foo extends Bar implements Foo1, Foo2, Bar1, Bar2
{
public Foo(){}
@Override
void foo1() {}
@Override
void foo2() {}
@Override
void bar1() {}
@Override
void bar2() {}
}
我想做这样的事情:
class Foo extends Bar implements Foo1, Foo2, Bar1, Bar2
{
public Foo(){}
@Overrides(source="Foo2")
void foo1() {}
@Overrides(source="Bar1")
void foo2() {}
@Overrides(source="Bar2")
void bar1() {}
@Overrides(source="Foo1")
void bar2() {}
}
有办法实现这一点吗?
解决方案(感谢 Nikem):
可以创建自定义注释(Overrides.java)
public @interface Overrides
{
String source() default "";
}
最佳答案
覆盖注释只是一个标记和编译时检查,以标记“某些东西”正在被覆盖,而不关心被覆盖的方法来自何处。如user2357112也就是说,许多 IDE 可以向您显示方法来自的接口(interface)/父类(super class)。如果您需要一种独立于 IDE 的方法来完成此任务,请添加注释或 javadoc 说明它来自哪个接口(interface)。
关于java - 有没有办法使用Java的Override注释来指定被覆盖的接口(interface)/类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37501782/