ClassFormatError в Java 8?

Нет, нет более «разумного» подхода. Если ваш базовый класс не имеет конструктора по умолчанию, вы должны явно вызвать правильный конструктор из всех дочерних классов.

Обратите внимание: это не означает, что для классов детей необходимо иметь точный тот же конструктор, что и базовый класс. Например, это совершенно верно:

class Foo {

    protected int a;
    protected int b;

    protected Foo(final int a, final int b) {
        this.a = a;
        this.b = b;
    }
}

class Bar extends Foo {

    protected Bar() {
        super(0,0);
    }
}
14
задан bcsb1001 18 August 2019 в 01:59
поделиться