#113 Method Overriding and a super Call

Companies:
Sberbank
Themes:
JavaOOPCode Review

What will be printed and why?

Java
public class Main {
    public static void main(String[] args) throws Exception {
        First first = new Second();
        first.useTest();

        Second second = new Second();
        second.useTest();
        second.callTest();
    }
}

class First {
    protected void test() {
        System.out.println("First");
    }

    public void useTest() {
        test();
    }
}

class Second extends First {
    @Override
    protected void test() {
        System.out.println("Second");
    }

    public void callTest() {
        super.test();
    }
}

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