为什么java不允许为子类中的静态方法分配较弱的访问权限?

Car*_*ine 5 java oop

我明白为什么 java 不允许为重写的方法设置较弱的访问权限,但为什么静态方法是一样的?我的意思是,这些方法只会互相隐藏,对吗?那么从封装的角度来看有什么问题呢?

聚苯乙烯

我知道隐藏方法有 5 条规则

  1. 子类中的方法必须与父类中的方法具有相同的签名。
  2. 子类中的方法必须至少与父类中的方法一样易于访问或更易于访问。
  3. 子类中的方法不能抛出比父类方法中抛出的任何异常的类新的或更广泛的已检查异常。
  4. 如果方法返回一个值,它必须是父类中方法的相同或子类,称为协变返回类型。
  5. 子类中定义的方法如果在父类中标记为静态,则必须标记为静态(方法隐藏)。同样,如果该方法在父类中未标记为静态(方法覆盖),则该方法在子类中不得标记为静态。

但毕竟,我没有从封装的角度得到这个想法