为什么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允许提高可见性,那么有两种方法可以公开显示??
我知道界面是一种解决方案,但还有其他方法吗???