コンストラクタの this() super()はなぜ先頭にしか記述出来ないか
なぜthis() super()は先頭に以外に記述することをなぜ禁止したのでしょうか?
this()やsuper()を呼び出す前に何かをしないといけない時は面倒じゃないですか。
なぜなのでしょうか。
public class Instance{
  String name;
  public Instance(){
    //ここに処理があるとエラーが出る
    this("Sample");
  }
  public Instance(String name){
    //処理…
  }
}
Instance instance=getInstance();みたいにする方法もあります。
public class Instance{
  String name;
  public static Instance getInstance(){
    //処理
    return new Instance("Sample");
  }
  private Instance(String name){
    //処理…
  }
}
それでいいのですが、少し気になったので教えて下さい。