#130 Polymorphism and Class Initialization Order

Companies:
VTB
Themes:
JavaOOPCode Review

What will be printed to the screen?

public class Main {
    public static void main(String[] args) {
        A a = new B();
        a.someMethod();
        B b = (B) a;
        b.someMethod();
    }
}

class A {
    {
        System.out.println("init A");
    }
    public void someMethod() {
        System.out.println("call method in A");
    }
}

class B extends A {
    {
        System.out.println("init B");
    }
    @Override
    public void someMethod() {
        System.out.println("call method in B");
    }
}

Question review

Mentor
Answer as you would in a real interview. I’ll ask follow-up questions, then compare your answer with the reference answer and show your accuracy as a %.
Sign in to start the dialogue The mentor keeps the context of the current question and your previous messages.
Sign in