您好,我想抛出一个自定义警告。说我有
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
最佳答案
托马斯提议的实现:
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
}
关于Java自定义警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42245653/