残念ながら、私は約 5 年間 Java のコーディングを行っていないため、次のコードがどのように、またはなぜ機能するのかまったく思い出せません。
私は同様の例に出くわし、これに分解しました。コメントの下の部分に重点が置かれています。コンストラクター表記の後に二重括弧で囲まれたブロックが続きません。残念ながら、Java のドキュメントや Google を使用しても何も見つかりません (Google で検索する必要がある単語は何ですか?)。
package syntaxtest;
public class Main {
public static void main(String[] args) {
// What kind of notation is this?
MyTest tester = new MyTest() {{
setName("John Johnson");
}};
System.out.println(tester.getName());
}
}
class MyTest {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
だからここに私の質問があります:
- この表記法/構文はどのように呼ばれますか?
- それに関するドキュメントはどこで読めますか?
誰かが最初の質問に答えてくれれば、2 番目の質問に自分で答えられると思います。
明確にするために:出力がJohn Johnson
;) であることは知っていますが、なぜそれが機能しているのかわかりません。