2010年8月2日月曜日

super() スーパークラスのコンストラクタ指定

サブクラスのコンストラクタのなかで、super(x、y)
を記述すると、スーパークラスの引数2個ありのコンストラクタが呼び出され、引数が渡されて実行されます。
public F1car (int num, double b,int c)
{
  super(num,b);//スーパークラス引数2個が呼び出される、
}

メインメソッド
F1car f1car = new F1car(122,90.0,3);//サブクラスの引数3個の呼び出し、処理ではサブクラスのsuper()がスーパークラスに引数2このコンストラクタを呼び出す事になります。

this()はそのクラスの別のコンストの呼び出し、
super()はスーパークラスのコンストの呼び出し、

■分かりやすくF1を題材にしたよ


class Car//車としての基本性能
{
    private int cc;
    private int gas;
   
    public Car(int c,int g)
    {
        cc= c;
        gas = g;
        System.out.println("車としての機能排気量は" + cc + "で、" + "ガソリン量は" + gas + "です");
    }
}

class F1car extends Car//F1カーとしてのターボを追加

{
    private int tab;
   
    public F1car(int c, int t, int g)
    {
        super(c,g);//スーパクラス引数2個のコンストが呼び出しです
        tab = t;//ここはF1カーのターボを追加してます

        System.out.println("F1カーとしての機能のターボ量は" + tab + "です");
    }
}


class Sample1_1
{
    public static void main (String args[])
    {
        F1car f1carnew = new F1car(1500,2000,100);//コンストでsuper渡しで基本の車、                              //引数の100はターボに代入される
    }
}

/*********実行結果********
車としての機能排気量は1500で、ガソリン量は100です
F1カーとしての機能のターボ量は2000です

*/

0 件のコメント:

コメントを投稿