java - 如何防止子类默认实现父类(super class)的方法?

标签 java

我有一个将对象添加到静态列表的方法,如下所示:

@PostConstruct
protected void registerToTransactionList() {
    TransactionValidator.registerTransactionList(this);
}

registerTransactionList 方法只是将“this”添加到静态列表中,此方法位于扩展 TransactionValidator (静态列表的所有者)的 BalanceTransactionValidator 类中),问题是 BalanceTransactionValidator 类的所有子类都被添加到静态列表中,如果我重写其中的 registerToTransactionList 方法,如下所示:

@Override
@PostConstruct
protected void registerToTransactionList() {
}

它不添加子类,但也不添加 BalanceTransactionValidator。有人能帮我解决这个问题吗?请注意子类默认覆盖此方法。

最佳答案

将方法设为私有(private)以阻止可见性

private void registerToTransactionList() {
}

或将方法设为最终 to block it from been override

protected final void registerToTransactionList() {
}

关于java - 如何防止子类默认实现父类(super class)的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39953793/

相关文章:

java - 用于容器化应用程序的 Open JDK 和 Oracle JDK 之间的区别

java - 错误 - 运行时异常错误(可能是绑定(bind) Butterknife)

java - 在 Java 中将行转换为不同的数组

java - 如何部署 Vuejs 应用程序

java - 不可调整大小的 JFrame 更改 pack() 上的位置

java - 将插件项目导出到产品时出现 "Processing inclusion from feature"错误

java - 为什么 useTransparentBounds() 不在 Matcher 区域之外进行搜索?

java - ubuntu 14.04 上的 JNI4Net

java - 当我设置 setRGB 的值时,getRGB 返回不同的值。为什么?

Java swing sleep 命令