Java がブラケットのみのメソッドを受け入れるのはなぜですか? 何のために作られていますか?
{
// Do something
}
また、静的ブロックの後、コンストラクターの前に自動的に実行されることにも気付きました。スーパークラスのコンストラクタは前に実行されますが。
この注文には特定の理由がありますか?
これは、実行順序を検出するために作成したJUnitです。
public class TestClass extends TestSuperClass {
public TestClass() {
System.out.println("constructor");
}
@Test
public void test() {
System.out.println("test");
}
{
System.out.println("brackets");
}
static {
System.out.println("static");
}
}
public class TestSuperClass {
public TestSuperClass() {
System.out.println("super class constructor");
}
{
System.out.println("super class brackets");
}
static {
System.out.println("super class static");
}
}
出力として私は得る:
super class static
static
super class brackets
super class constructor
brackets
constructor
test