親クラスのコンストラクタを呼ぶ前に

super() はコンストラクタの1行目で記述しなければならないが、
親クラスのコンストラクタを呼ぶ際に複雑な処理を行いたい場合は
static のヘルパメソッドを使う。


public class Derived extends Thread {

public Derived() {
super(createString()); // 親のコンストラクタ public Thread(String name) を呼ぶ
}

private static String createString() {
return "複雑な処理で生成された文字列";
}
}

this(), super() の呼び出し中はメンバメソッドは呼び出せない。