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

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, который вызывает тот же метод.

Follow CodeGalaxy

Mobile Beta

Get it on Google Play
Send Feedback
Keep exploring
Java quizzes
Cosmo
Sign Up Now
or Subscribe for future quizzes