вторник, 4 июня 2013 г.

Перегрузка методов

Всё ли в порядке с классом?

public class B {
    public int test(int i){return 1;};
    public int test(float i){return 2;};
    public int test(Integer i){return 3;};
    
    public static void main(String[] args) {
        B b = new B();
        System.out.printf("%d %d %d", b.test(1), b.test(1.0f), 
            b.test(Integer.valueOf(1)));
    }
}

Ответ

Output: 1 2 3 Класс скомпилируется и будет работать, т.к. значения считаются разными и попадут в нужные методы

2 комментария:

  1. B прекрасно компилируется

    http://www.coderanch.com/t/553491/java-programmer-SCJP/certification/Widening-Autoboxing-VarArgs-method-Choice

    ОтветитьУдалить