回答編集履歴

3

修正

2019/04/29 13:39

投稿

LouiS0616
LouiS0616

スコア35660

test CHANGED
@@ -66,7 +66,9 @@
66
66
 
67
67
  ・内部インターフェース
68
68
 
69
+ ・セミコロン
70
+
69
- 0. **instance initializers** (初期化ブロック)
71
+ 0. **initializer** (初期化ブロック)
70
72
 
71
73
  ・静的初期化ブロック
72
74
 

2

追記

2019/04/29 13:39

投稿

LouiS0616
LouiS0616

スコア35660

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

追記

2019/04/29 09:41

投稿

LouiS0616
LouiS0616

スコア35660

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
+ ```