次のコードがコンパイルエラーになるのはなぜですか?protected access java issue
public class A
{
protected int _i;
public A(int i)
{
_i=i;
}
public boolean equals(Object other)
{
System.out.print("A ");
return ((other!=null) && (_i==other._i));
}
}
Object
クラスはA
の親、つまり、スーパークラスとサブクラスと考えられています。だからどうすればObject
クラスは保護された変数にアクセスできませんか?
特許は子供から継承していませんが、他の方法で動作します – MadProgrammer
オブジェクトはJavaのスーパークラスです。あなたの場合、スーパークラスのオブジェクトはクラスAの保護されたデータメンバーを使用できません。 – Omore
@Art - あなたが得たすべての回答は同じことを言っています。親子の視認性は一方向に向いています。この[リンク](http://stackoverflow.com/questions/899414/in-java-why-super-class-method-cant-access-protected-or-private-methods-variab)では、なぜその理由が説明されています。 Q:意味がありますか? – paulsm4