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

public class Main {
    public static void main(String[] args) {
        Parent p = new Parent();
        Child c = new Child();
        Parent p2 = new Child();

        useIt(p);
        useIt(c);
        useIt(p2);
    }

    final static void useIt (Parent p){
        System.out.println("Parent");
    }

    final static void useIt (Child c){
        System.out.println("Child");
    }
}

class Parent { }
class Child extends Parent { }
Explanation
Компилятор выбирает, какой именно перегруженный метод вызывать, основываясь на типе передаваемой в метод ссылки, тип объекта времени выполнения в данном случае не играет роли.

Следи за CodeGalaxy

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

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