Что выведет программа:

package tutorial.base;

public class TypesTutorial {

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

class A {
    A(){
        System.out.print("A");
        a();
    }
    
    void a() {
        System.out.print("a");
    }
}

class B extends A {
    B() {
        System.out.print("B");
        a();
    }
    
    void a() {
        System.out.print("b");
    }
}
Explanation
Первым вызывается конструктор класса-родителя A, в нем вызывается переопределенный метод класса-потомка B, по типу созданного обьекта. Далее вызывается конструктор класса-потомка B, который вызывает тот же метод.

Следи за CodeGalaxy

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

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