7
親クラスのプライベートメソッドBase
が下位クラスの子クラスChild
に表示されるのはなぜですか?子クラスと親クラスが両方とも内部クラスの場合の継承動作
public class Trial {
class Base {
private void foo()
{
}
}
class Child extends Base {
private void func()
{
super.foo();
}
}
}
Base
とChild
クラスは内部クラスでなかった場合、それは不可能であろう。内部クラスのこの動作はなぜですか?メンバまたはコンストラクタが[次に]アクセスが許可された場合、それがメンバやコンストラクタの宣言を囲むトップレベルクラス(7.6)の本体内で発生した場合にのみされ、プライベート宣言されている[場合]