abstract class Base{
protected abstract void a();
}
class Child extends Base{
@Override
public void a(){
//why is this valid
}
}
Run Code Online (Sandbox Code Playgroud)
为什么我们不能降低能见度但可以增加它?
此外,我需要实现模板模式,其中公共方法可见只能是基类.
例:
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
}
}
Run Code Online (Sandbox Code Playgroud)
现在,如果java允许增加可见性,那么有两种方法可以公开显示?
我知道接口是一个解决方案但是还有其他方法吗?