0

クラスがパラメーター化されたコンストラクターを持つ他のクラスを拡張する場合、パラメーターなしでコンストラクターを追加する方法。

例えば、

私はAを拡張するクラスBを持っています。

Class A {
  //Parameterized constructor
   A(int a,int b) {
     //some operation
   }
}


Class B extends A {
     //Constructor without paramaters
     B() {
     }   
}

クラス A を拡張しながらクラス B に空のコンストラクターを作成することは可能ですか?

詳細をお知らせください。

ありがとう、ティネシュ

4

3 に答える 3

2

A のコンストラクターが必要とするパラメーターの値を計算する必要があります。

class B extends A {
 //Constructor without paramaters
 B() {
   super(0,0);
 }   
}
于 2013-02-25T07:34:09.173 に答える
0

親のパラメーターを無視することはできません。

親クラスのパラメーターがその機能にとって重要であると想像してください。それがどのように機能するかを必ずしも知らないコンパイル済みクラスである可能性があります。

子のクラスで空のコンストラクターを作成できますが、スーパーを呼び出すときにパラメーターを渡す必要があります。

于 2013-02-25T07:32:48.917 に答える
0
public class B extends A {

    public B() {
        super(0, 0);
    }
}

親クラスにパラメーターのないコンストラクターがない場合は、適切なデフォルトを自分で提供する必要があることに注意してください。

于 2013-02-25T07:41:05.943 に答える