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

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 не распространяется.

Слідкуй за CodeGalaxy

Мобільний додаток Beta

Get it on Google Play
Зворотній Зв’язок
Продовжуйте вивчати
тести з Java
Cosmo
Зареєструйся Зараз
або Підпишись на майбутні тести