回答編集履歴
3
修正
test
CHANGED
@@ -66,7 +66,9 @@
|
|
66
66
|
|
67
67
|
・内部インターフェース
|
68
68
|
|
69
|
+
・セミコロン
|
70
|
+
|
69
|
-
0. **in
|
71
|
+
0. **initializer** (初期化ブロック)
|
70
72
|
|
71
73
|
・静的初期化ブロック
|
72
74
|
|
2
追記
test
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
端的に言えばJava仕様です。
|
1
|
+
端的に言えばJavaの仕様です。
|
2
2
|
|
3
3
|
せっかくの機会なので、真面目に言語仕様を紐解いて回答してみます。
|
4
4
|
|
@@ -101,3 +101,7 @@
|
|
101
101
|
}
|
102
102
|
|
103
103
|
```
|
104
|
+
|
105
|
+
|
106
|
+
|
107
|
+
少し複雑な条件で初期化したい際にしばしば使われます。
|
1
追記
test
CHANGED
@@ -1,4 +1,6 @@
|
|
1
|
+
端的に言えばJava仕様です。
|
2
|
+
|
1
|
-
せっかくの機会なので、言語仕様を紐解いて回答してみます。
|
3
|
+
せっかくの機会なので、真面目に言語仕様を紐解いて回答してみます。
|
2
4
|
|
3
5
|
|
4
6
|
|
@@ -75,3 +77,27 @@
|
|
75
77
|
|
76
78
|
|
77
79
|
依って、代入文(厳密に言えば代入式の式文)を置くことはできません。
|
80
|
+
|
81
|
+
|
82
|
+
|
83
|
+
---
|
84
|
+
|
85
|
+
なお、初期化ブロックを利用して次のように書くことは可能です。
|
86
|
+
|
87
|
+
初期化ブロックはインスタンスが作られるとき、コンストラクタより先に呼ばれます。
|
88
|
+
|
89
|
+
```Java
|
90
|
+
|
91
|
+
public class Human {
|
92
|
+
|
93
|
+
int age;
|
94
|
+
|
95
|
+
{
|
96
|
+
|
97
|
+
age = 33;
|
98
|
+
|
99
|
+
}
|
100
|
+
|
101
|
+
}
|
102
|
+
|
103
|
+
```
|