Что важно, так это то, что A
инициализируется с использованием одного из его консутрукторов. не обязательно , чтобы конструктор в дочернем классе B
соответствовал параметрам конструктора (ов) в A
. Следовательно, вы можете определить любой конструктор в дочернем классе B
, но убедитесь, что вы вызываете super( <some int> )
в этом.
Например, даже следующее хорошо.
class B extends A {
public B(){ //Default constructor
super( 1 );
}
}
Также ,
- Если в дочернем классе
B
имеется более одного конструктора, то каждый из них должен вызвать super( <some int> )
. - Если в родительском классе имеется более одного конструктора
A
, затем в конструкторе дочернего класса будет вызываться любой из них через super( <params> )
.