下の質問の回答、間違ってませんか?
--------------------------------------------
親クラスのフィールドをメソッドを全て継承することになります。よって、サブクラス2は、サブクラス1とスーパークラスのメンバーを全て持つことになります。サブクラス2をインスタンス化すると、サブクラス1とスーパークラスが全てインスタンス化(コンピューターのメモリ上等に配置)されます。
ただ、可視性というものがあり、サブクラスから親クラスのメンバーを直接取り扱えない場合があります。privateや可視性修飾子無しの場合、サブクラスから直接取り扱えません。ただ、継承はされているので、インスタンスとしては存在します。例えば、
class スーパークラス{
private int abc;

public int getAbc(){
return this.abc;
}
というクラスがあり、これを継承したサブクラスがあったとします。
サブクラスからは、privateなメンバー変数abcは直接取り扱うことができません。ただ、publicなgetAbcメソッドはサブクラスから取り扱えます。これで何が分かるかといいますと、privateなメンバーでもサブクラスに継承されるのです。単に可視性の問題で直接取り扱えないだけなのです。
また、オーバーライドされたメソッドがあったとしても、super.メソッド()で親のメソッドも呼べますので、これも継承されているのです。

このQ&Aに関連する最新のQ&A

A 回答 (1件)

こういう質問をする場合は


・そもそもの質問は何か
・どこが間違っていると思うのか
くらいは書きましょう。

今の情報から言えることは

・書かれていることはだいたい合っているわよ。
・ただ、質問の内容や捕らえ方によっては間違っているかもしれないわ。

くらいね。

この回答への補足

 

補足日時:2009/05/18 10:10
    • good
    • 0
この回答へのお礼

 

お礼日時:-0001/11/30 00:00

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


人気Q&Aランキング