Если ваш класс
- имеет множество перегруженных конструкторов
- расширяет класс не-
Object
, который имеет множество перегруженных конструкторов
, тогда когдаВы явно вызываете super()
, чтобы избежать путаницы, какой конструктор класса / суперкласса вызывается.
Пример, иллюстрирующий вышесказанное:
class Foo {
final int x;
Foo(int x) {
this.x = x;
}
Foo() {
this.x = 1;
}
}
class Bar extends Foo {
Bar(int x) {
}
}
Вопрос - каково значение new Bar(10).x
?