为什么Java允许提高子类中受保护方法的可见性?
2022-09-02 05:33:28
abstract class Base{
protected abstract void a();
}
class Child extends Base{
@Override
public void a(){
//why is this valid
}
}
为什么我们不能降低可见性,但可以提高可见性?
此外,我需要实现模板模式,其中可见的公共方法只能是基类。
例:
abstract class Base{
public void callA(){
//do some important stuff
a();
}
protected abstract void a();
}
class Child extends Base{
@Override
public void a(){
//why is this valid
}
}
现在,如果java允许提高可见性,那么有两种方法可以公开显示??
我知道界面是一种解决方案,但还有其他方法吗???