Что произойдет в результате компиляции и выполнения следующего кода?

import java.util.*;

public class X {

    public <X> X(X x) {
        System.out.println("generic constructor");
    }

    public X(X x) {
        System.out.println("simple constructor");
    }

    public X() { }

    public static void main(String args[]) {
        X x = new X(new Integer(5));
        X x1 = new X(x);
    }
}
Explanation
Компиляция пройдет успешно, в первом конструкторе X будет определен как generic тип, потому для всех типов кроме X будет вызываться именно он.

Следи за CodeGalaxy

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

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