質問編集履歴
2
誤解を招く記述を削除しました
test
CHANGED
File without changes
|
test
CHANGED
@@ -210,5 +210,3 @@
|
|
210
210
|
・「sa[0] = new SubB();」を見て私が思うのは、SuperA型の配列のsa[0]の中はSubB()で使うからSubB()で初期化する、ってことかな? です。
|
211
211
|
|
212
212
|
この宣言の部分はネットや教科書でも調べたのですが、記述の仕方が中心に解説されており、なんでそう書くのか、どんな処理をしているのか、という部分に関しては、私でもわかる記述に行き当たることができませんでした。どなたか噛み砕きまくった解説を所望します。
|
213
|
-
|
214
|
-
私の理解では、親クラスから子クラスへのアクセスはできないので、宣言で指定するクラスは、使用する予定の全てのクラスにアクセスできる最上位のクラスで宣言する、だから今回の場合は「SuperA[] sa = new SuperA[2];」で良い、くらいしか説明できません。(SubB[] sa = new SuperA[2]; でやるなど、宣言部分のクラス名をいろいろ入れ替えて呼び出せるメソッドを見分けてその結論に至りました)
|
1
書き間違えがありました。
test
CHANGED
File without changes
|
test
CHANGED
@@ -211,4 +211,4 @@
|
|
211
211
|
|
212
212
|
この宣言の部分はネットや教科書でも調べたのですが、記述の仕方が中心に解説されており、なんでそう書くのか、どんな処理をしているのか、という部分に関しては、私でもわかる記述に行き当たることができませんでした。どなたか噛み砕きまくった解説を所望します。
|
213
213
|
|
214
|
-
私の理解では、
|
214
|
+
私の理解では、親クラスから子クラスへのアクセスはできないので、宣言で指定するクラスは、使用する予定の全てのクラスにアクセスできる最上位のクラスで宣言する、だから今回の場合は「SuperA[] sa = new SuperA[2];」で良い、くらいしか説明できません。(SubB[] sa = new SuperA[2]; でやるなど、宣言部分のクラス名をいろいろ入れ替えて呼び出せるメソッドを見分けてその結論に至りました)
|