Java自定义警告

时间:2017-02-15 09:40:18

标签: java intellij-idea annotations

你好我想抛出一个自定义警告。说我有

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

1 个答案:

答案 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

}