Java自定义警告

标签 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

最佳答案

托马斯提议的实现:

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/

相关文章:

java - 父/子关系的 Hibernate 注释映射?

java - 自定义注释 - 定义@Target

java - 从一个文件中获取整数列表

java - 从intellij上的tomcat获取错误404

java - 启用 Intellij IDEA 对 java 类名中的非标准字符的支持

安卓工作室AI 140

objective-c - 检查 mapView 是否已经包含注释

java - Spring 编程 bean Autowiring 为代理而不是目标

java - Spring进程自动运行

java - 服务器使用 Spring 发送事件,并从请求中释放线程