• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:privateなフィールドは継承されない?)

privateなフィールドは継承されない?

このQ&Aのポイント
  • class Bはclass Aを継承しており、privateなフィールドであるwidthには直接アクセスできないが、継承はされている。
  • B型のインスタンスbとb2はそれぞれ独自のwidthを持つ。
  • 参考書の表現は正確ではなく、privateなフィールドは直接アクセスできないだけで継承はされている。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

アクセスできないフィールドとして継承します。 public class a { public int aaa=10; } public class b extends a { private int aaa=20; } public class c extends b { public static void main(String[] args) { b zzz = new b(); System.out.println(zzz.aaa); } } は、コンパイルエラーになりますが、class b を public class b extends a { } と書き換えると class a の aaa フィールドが見えるようになります。 このあたりを味わってみてください(^^; おもしろいですよ。

wooyan_52
質問者

お礼

回答ありがとうございました。 やっぱり、アクセスできないフィールドとして継承されてるのですよね。

その他の回答 (1)

  • askaaska
  • ベストアンサー率35% (1455/4149)
回答No.1

継承先に同名のフィールドを定義して コンパイルがとおるかどうか調べると 分かる。

wooyan_52
質問者

お礼

回答ありがとうございました。 コンパイルとおりました。 継承されてる・・・っていうことですよね?

関連するQ&A