スーパークラスのコンストラクタに引数がある場合
public abstract class Animal {
private String name;public String getName () {
return name;
}
public Animal (String theName) {
name = theName;
}
}
- サブクラス
public class Monkey extends Animal{
public Monkey (String name) {
super(name);
}
}
- main
public class MakeMonkey {
public static void main(String[] args) {
// 名前"Gonzalez"をパラメータに指定して、コンストラクタを呼出し
// Monkeyオブジェクトを作成する
System.out.println(new Monkey("Gonzalez").getName());
}
}
- super()を使って、自らのAnimalオブジェクト部分に存在するname変数に値を渡す。
- この方法ならprivate宣言されたインスタンス変数にも値を渡すことが出来る!!すげー!