回答編集履歴

4

追記

2017/09/15 14:04

投稿

LouiS0616
LouiS0616

スコア35660

test CHANGED
@@ -101,3 +101,11 @@
101
101
  }
102
102
 
103
103
  ```
104
+
105
+
106
+
107
+ ---
108
+
109
+ コードはバッククオート三つで括ってください。
110
+
111
+ よくわからない場合は、マークダウン記法について調べてみてください。

3

作文の修正

2017/09/15 14:04

投稿

LouiS0616
LouiS0616

スコア35660

test CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
 
4
4
 
5
- またJavaでは、フィールド変数はデフォルトでprivateアクセスになるからです。
5
+ またJavaでは、フィールド変数はデフォルトでprivateアクセスになります。
6
6
 
7
7
  とりあえずエラーを消すだけなら、次のようにすればよいです。
8
8
 

2

追記

2017/09/15 14:02

投稿

LouiS0616
LouiS0616

スコア35660

test CHANGED
@@ -1,10 +1,14 @@
1
+ エラーが出ている原因は、静的でないクラスを静的メソッドで参照しているからです。
2
+
3
+
4
+
1
- Javaでは、フィールド変数はデフォルトでprivateアクセスになるからです。
5
+ またJavaでは、フィールド変数はデフォルトでprivateアクセスになるからです。
2
6
 
3
7
  とりあえずエラーを消すだけなら、次のようにすればよいです。
4
8
 
5
9
  ```Java
6
10
 
7
- class Student {
11
+ static class Student {
8
12
 
9
13
  public String name;
10
14
 
@@ -69,3 +73,31 @@
69
73
  }
70
74
 
71
75
  ```
76
+
77
+
78
+
79
+ 呼び出すときには、こうすればよいです。
80
+
81
+ ```Java
82
+
83
+ class StudentSample {
84
+
85
+ public StudentSample() {
86
+
87
+ Student murata = new Student("murata", 80);
88
+
89
+ murata.printScore();
90
+
91
+ }
92
+
93
+
94
+
95
+ static void main(String[] args) {
96
+
97
+ new StudentSample();
98
+
99
+ }
100
+
101
+ }
102
+
103
+ ```

1

追記

2017/09/15 14:01

投稿

LouiS0616
LouiS0616

スコア35660

test CHANGED
@@ -1,4 +1,4 @@
1
- Javaでは、フィールド変数はデフォルトでprivateになるからです。
1
+ Javaでは、フィールド変数はデフォルトでprivateアクセスになるからです。
2
2
 
3
3
  とりあえずエラーを消すだけなら、次のようにすればよいです。
4
4
 
@@ -30,4 +30,42 @@
30
30
 
31
31
  しかし、この方法は推奨されるものではありません。
32
32
 
33
+ クラスの利用者が、いくらでも情報を改ざん出来てしまうからです。
34
+
35
+
36
+
33
37
  コンストラクタを適切に定義するか、アクセッサを用意しましょう。
38
+
39
+ ```Java
40
+
41
+ class Student {
42
+
43
+ private String name;
44
+
45
+ private int score;
46
+
47
+ static final int MAX_SCORE = 100;
48
+
49
+
50
+
51
+ public Student(String name, int score) {
52
+
53
+ this.name = name;
54
+
55
+ this.score = score;
56
+
57
+ }
58
+
59
+
60
+
61
+ public void printScore() {
62
+
63
+ System.out.println(name + "さんは" + MAX_SCORE + "点満点中、" + score + "点です。");
64
+
65
+
66
+
67
+ }
68
+
69
+ }
70
+
71
+ ```