我有一个将对象添加到静态列表的方法,如下所示:
@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/