クラス Avo のパッケージ ger1 に、保護された修飾子を持つインスタンス変数があります。
package ger1;
public class Avo {
protected int i = 1;
}
次に、パッケージger2にあるクラスPaiがあり、Avoを拡張し、インスタンスごとに変数にアクセスします。これまでのところ、通常...
package ger2;
public class Pai extends Avo {
public Pai() {
i++
}
}
しかし、Kathy Sierra の本は、保護されたメンバーについて次のように述べています。サブクラス」。
しかし、クラス Pai のインスタンスを介してメンバーにアクセスしようとすると、許可されます! ただし、Filho クラスは Avo の同じパッケージに含まれている必要があります。なぜこれ?それは正常ですか?
package ger1;
import ger2.Pai;
public class Filho {
public Filho() {
Pai pai = new Pai();
pai.i++;
}
}