Имеется следующая программа

public class Test {
    class A {
        private void act(){};
    }
    
    class B extends A {
        protected void act(){};
    }
    
    class C extends B {
        public void act(){};
    }
    
    class D extends B {
        void act(){};
    }
    
    public static void main(String[] args){
        A obj = new Test().new D();
        obj.act();
    }
}
Что произойдёт в результате её выполнения?
Explanation
Видимость метода, объявленного без модификаторов, меньше видимости public, а класс-наследник не может урезать видимость перекрываемого им метода класса-предка

Следи за CodeGalaxy

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

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