Каким будет результат компиляции и выполнения данного кода?

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

class B extends A {
    public void process() throws RuntimeException {
        super.process();
        if (true) throw new RuntimeException();
        System.out.print("B ");
    }

    public static void main(String[] args) {
        try { 
            ((A)new B()).process(); 
        } catch (Exception e) { 
            System.out.print("Exception "); 
        }
    }
}
Explanation
Хотя при переопределении метода нельзя добавлять исключение, на RuntimeException (исключениe времени исполнения) это ограничениe не распространяется.

Follow CodeGalaxy

Mobile Beta

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