0

通过子访问时,隐式继承方法(父的抽象最终方法继承在子上)的访问可见性是否始终相同?

什么是隐式转发规则?

class package0.Parent {ACCESS_MODIFIER final void f();}   
class package1.B extends A { /* Implicit f?*/} 
class package2.C extends B {/* Implicit f? */}

那么:会一直ACCESS_MODIFIER转发吗?如果是这样,为什么是案例1?那么案例3呢?

  • 情况 1:如果父级f()private可见性,则不转发,因为B看不到它。
  • 案例 2:如果父母f()public,我猜任何使用BC将在f.
  • 案例 3:如果 parentf()protected,我想B会将方法“公开”为受保护的,这意味着C可以看到它。
4

1 回答 1

0

你的措辞是半不清楚的。我解释你的问题的方式是:

class A{protected void f();}
class B extends A{/* Can see f. */}
class C extends B{/* Can see f? */}

如果是这样,答案是肯定的:C将能够访问f.

于 2014-12-10T18:01:24.657 回答