你好我想抛出一个自定义警告。说我有
public abstract class A {
public void doSomething() {
//base functionality
}
}
public class B extends A {
@Override
public void doSomething() {
super.doSomething();
//extended functionality
}
}
public class C extends A {
}
我想为C类抛出一个错误,因为它没有覆盖该方法。通常抽象方法就足够了,但该方法包含所有子类共有的功能,如果有更好的标准或结构,请告诉我。
我想强制所有子类到@Override某个方法
我已经研究过创建一个自定义注释
public @interface ShouldOverride
但我无法弄清楚如何发出警告。
请注意。我正在使用IntelliJ Idea Ultimate
答案 0 :(得分:1)
托马斯主张的实施:
abstract class A {
public void doSomething() {
// basic things to do
// then call implementation
doSomethingImpl();
}
protected abstract void doSomethingImpl();
}
class B extends A {
@Override
protected void doSomethingImpl() {
//extended functionality
}
}
class C extends A { // does not compile
}