暗黙的に継承されたメソッド (子に継承された親の抽象最終メソッド) のアクセスの可視性は、子を介してアクセスされたときに常に同じですか?
暗黙の転送ルールとは何ですか?
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
誰でも使用できると思います。B
C
f
- ケース 3: 親
f()
がの場合、メソッドを保護されたものとして「公開」するprotected
と思います。つまり、それを見ることができます。B
C