質問編集履歴

1

追記

2019/01/02 09:14

投稿

Chandler_Bing
Chandler_Bing

スコア673

test CHANGED
File without changes
test CHANGED
@@ -89,3 +89,17 @@
89
89
  となります。実際に呼び出せるメソッド(共通するメソッド)は型に左右されず、挙動はインスタンスに従うと記憶していたのですが、この場合全ての変数の箱が同じインスタンスをさしており、かつ全ての変数の型はnameフィールドを持っているのでgrandchildを生成しこのように利用すると全てのnameの結果が'孫'になると思っておりました。
90
90
 
91
91
  このような挙動になる理由をご教授ください。
92
+
93
+
94
+
95
+ 【追記❶】
96
+
97
+
98
+
99
+ このような説明を見つけました。
100
+
101
+ オーバーライドは、その変数の型ではなくインスタンスの実態に左右される。
102
+
103
+
104
+
105
+ つまり私が質問したのはメソッドの説明であり、フィールド値は変数の型に従うという認識でしょうか。