javaのシルバーの問題について質問です。
下の問題がわからないのでどなたか教えていただけますでしょうか?
package zzz; public class ZZZ { public static void main(String[] args) { Child child = new Child(); child.name = "sample"; System.out.println("child.getNameの結果"+child.getName()); } } class Parent{ String name; String getName(){ return this.name; } } class Child extends Parent{ String name; }
サブクラスのChildをnewしているので"sample"の値がChildのインスタンスに入るところまではわかります。
その次のchild.getNameなのですが、ChildクラスはParentを引き継いでいるのでgetNameメソッドを持っていると解釈してしまっているのですが、実際は呼び出されているのはParentのgetNameでnullになってしまいます。(解説)
なぜChildクラスのgetNameメソッドを呼び出せないのでしょうか?
すいませんがどなたかご回答よろしくお願いいたします。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/04/28 02:06
2018/04/28 02:07
2018/04/28 02:12
2018/04/28 02:13
2018/04/28 02:14
2018/04/28 02:22