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

public class TestClass {
    public static void main(String[] args) {
        Base sub = new Sub();
        sub.test();
    }
}

class Base {
    public static void test() {
        System.out.println("Base.test()");
    }
}

class Sub extends Base {
    public static void test() {
        System.out.println("Sub.test()");
    }
}
Explanation
Для статических методов нехарактерно позднее связывание и компилятором выбирается тип, исходя из типа ссылки, а не типа присвоенного объекта.

Следи за CodeGalaxy

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

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