在我的抽象类中,我有这样的东西:
public Object methodIWantToExpose(){
// ...
methodIDontWantExposed()
// ...
}
protected abstract void methodIDontWantExposed();
问题是,我想强制扩展 methodIDontWantExposed() 的人使其受到保护,因为我不希望扩展类同时暴露 methodIDontWantExposed 和 methodIWantToExpose。
有没有办法做到这一点(或可能避免我的问题的不同方法)?
最佳答案
没有。子类总是可以使方法更加公开。
即使他们不能用你在类里面的方法做到这一点,他们总是可以这样写:
public void callsMethodIDontWantExposed() {
methodIDontWantExposed();
}
...所以你会遇到同样的情况。
关于java - 当有人重写抽象方法时,我可以强制保护它们吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28671534/