sobrecarga, por ejemplo, tengo esta clase:Java. Método
public class Col {
static void test(int a)
{
System.out.println("int");
}
public static void main(String args[])
{
Col.test(12); //1
Col.test((byte)12); //2
Col.test((long)100); //3
}
}
y ahora me intresting cómo algoritmo de trabajo este código. Creo que esto pasos:
1 línea - todo el método de llamada correcta con int param, perfecto.
2 líneas - método de llamada con byte param ... oooops. ¿qué hacer? ¿Java intenta ampliar el byte a int? ¿Es verdad?
3 método de llamada de línea con parámetro largo ... otra vez ooops. ¿qué hacer? convertir largo a int java no puede, porque la pérdida de precisión. ¿Es prueba? Y en resultado - Excepción.
De lo que añadir:
public static void test(Object a)
{
System.out.println("Object");
}
y si una llamada:
Col.test((long)100);
los correctos, no es una excepción es así, cuál es la relación entre el tipo primitivo de largo y objeto?
bien, gracias, hombres! – user471011