回答編集履歴

2

細かいですがインデントを追加

2019/09/21 16:24

投稿

BluOxy
BluOxy

スコア2663

test CHANGED
@@ -38,9 +38,9 @@
38
38
 
39
39
  for (int i = 0; i < 3; i++) {
40
40
 
41
- testC t = new testC(); //オブジェクトをインスタンス化をして
41
+ testC t = new testC(); //オブジェクトをインスタンス化をして
42
42
 
43
- test[i] = t; //そのオブジェクトを配列の1要素に保持
43
+ test[i] = t; //そのオブジェクトを配列の1要素に保持
44
44
 
45
45
  }
46
46
 

1

文章の修正

2019/09/21 16:24

投稿

BluOxy
BluOxy

スコア2663

test CHANGED
@@ -1,3 +1,5 @@
1
+ ### 最初に
2
+
1
3
  - オブジェクトの配列のインスタンス化をするときは`Object[] array = new Object[3];`
2
4
 
3
5
  - オブジェクト単体のインスタンス化をするときは`Object element = new Object();`
@@ -8,29 +10,21 @@
8
10
 
9
11
 
10
12
 
11
- 下記コードの場合は
13
+ 掲示しているコードで言うならば
12
14
 
13
15
  `testC[] test= new testC[3];`が前者で
14
16
 
15
- `test[i] = new testC();`後者です。
17
+ `test[i] = new testC();`後者です。
16
-
17
- ```java
18
-
19
- testC[] test= new testC[3];
20
-
21
- for (int i = 0; i < 3; i++) {
22
-
23
- test[i] = new testC(); // --> コンストラクタで初期化 → 初期化のイメージがわきません。
24
-
25
- }
26
-
27
- ```
28
18
 
29
19
 
30
20
 
31
- test[i]というのは配列全体ではなくtestという配列の要素を指しています。
21
+ ### 回答
32
22
 
23
+
24
+
25
+ `test[i]`というのは配列全体を指している訳ではなく`test`という配列の中の1つの要素を指しています。
26
+
33
- ですから、`test[0]`も`test[1]`も`test[2]`も全て1つのオブジェクトを保持するだけです
27
+ ですから、`test[0]`も`test[1]`も`test[2]`も全て1つのオブジェクトを保持するだけの入れ物にしか過ぎません
34
28
 
35
29
 
36
30
 
@@ -46,7 +40,7 @@
46
40
 
47
41
  testC t = new testC(); //オブジェクトをインスタンス化をして
48
42
 
49
- test[i] = t; //配列の1要素に保持
43
+ test[i] = t; //そのオブジェクトを配列の1要素に保持
50
44
 
51
45
  }
52
46
 
@@ -54,4 +48,4 @@
54
48
 
55
49
 
56
50
 
57
- 配列と配列の要素を混同されているのではないでしょうか。
51
+ おそらく、「配列配列の要素を混同されているのではないでしょうか。