What will be the result of the following code execution?

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
Although you cannot override a method and add throws Exception, for RuntimeException (unchecked exception) this restriction is not applied.

Следи за CodeGalaxy

Мобильное приложение Beta

Get it on Google Play
Обратная Связь
Продолжайте изучать
тесты по Java
Cosmo
Зарегистрируйся сейчас
или Подпишись на будущие тесты