Что будет результатом запуска такого кода?

package tutorial.base;

public class TypesTutorial {
    public static void main(String... args) {
        A alpha = new B(0);
    }
}

class A {
    A(int x){            // - 1 -
        a(x);            // - 2 -
    }
    
    void a(int x) {
        System.out.println("A-a: " + x);
    }
}

class B extends A {
    B(int x) {           // - 3 -
        a(x);            // - 4 -
    }
    
    void a(int x) {
        System.out.println("B-a: " + x);
    }
}
Explanation
В классе A отсутствует конструктор по-умолчанию, поэтому конструктор класса B (потомок) первым делом должен явно вызвать один из обьявленных конструкторов класса-родителя.

Следи за CodeGalaxy

Мобильное приложение Beta

Get it on Google Play
Обратная Связь
Продолжайте изучать
тесты по Java
Cosmo
Зарегистрируйся сейчас
или Подпишись на будущие тесты