回答編集履歴

2

質問があったので、少し具体的に修正しました。

2016/09/21 14:50

投稿

mit0223
mit0223

スコア3401

test CHANGED
@@ -1 +1,55 @@
1
- うーん、答した人の気持ちはわかりませんが、課題の文章では「メンバ変数が」となっているのに、答で「クラス変数」を宣言しているからかもしれません。 static をとって、 new FieldB するようにしてみてはどうでしょう?
1
+ うーん、答した人の気持ちはわかりませんが、課題の文章では「メンバ変数が」となっているのに、答「クラス変数」を宣言しているからかもしれません。 static をとって、以下のように new FieldB するようにしてみてはどうでしょう?
2
+
3
+
4
+
5
+ ```java
6
+
7
+ public class FieldB {
8
+
9
+ int a;
10
+
11
+ double b;
12
+
13
+ boolean c;
14
+
15
+ int[] d;
16
+
17
+ ClassA abc;
18
+
19
+
20
+
21
+ public static void main(String[] args){
22
+
23
+ FieldB fB = new FieldB();
24
+
25
+ fB.printVariables();
26
+
27
+ }
28
+
29
+
30
+
31
+ pubic void printVariables() {
32
+
33
+ System.out.println(a);
34
+
35
+ System.out.println(b);
36
+
37
+ System.out.println(c);
38
+
39
+ System.out.println(d);
40
+
41
+ System.out.println(abc);
42
+
43
+
44
+
45
+ }
46
+
47
+ }
48
+
49
+ ```
50
+
51
+
52
+
53
+ 変数宣言から static がなくなっているのがみそです。static がついていると、メンバ変数ではなく、クラス変数になります。また、メンバ変数は、インスタンスに含まれるのものですからインスタンスを作らないと実体が得られません。ですので、 new FieldB() を実行する必要があります。
54
+
55
+

1

インスタンスを生成する必要がある旨を追加

2016/09/21 14:50

投稿

mit0223
mit0223

スコア3401

test CHANGED
@@ -1 +1 @@
1
- うーん、回答した人の気持ちはわかりませんが、課題の文章では「メンバ変数が」となっているのに、答で「クラス変数」を宣言しているからかもしれません。 static をとってみてはどうでしょう?
1
+ うーん、回答した人の気持ちはわかりませんが、課題の文章では「メンバ変数が」となっているのに、答で「クラス変数」を宣言しているからかもしれません。 static をとって、 new FieldB するようにしてみてはどうでしょう?