Por que isso imprimi isso?

public class TiposPrimitivos {
public static void go(Long n){
System.out.println("Long ");
}

    public static void go(Short n){
            System.out.println("Short ");
            }

    public static void go(int n){
    	System.out.println("int ");
    }

    public static void main(String [] args) {
            short y=6;
            long z=7;
                  go(y);
                  go(z);
    }

}

[quote=andredecotia]public class TiposPrimitivos {
public static void go(Long n){
System.out.println("Long ");
}

    public static void go(Short n){
            System.out.println("Short ");
            }

    public static void go(int n){
    	System.out.println("int ");
    }

    public static void main(String [] args) {
            short y=6;
            long z=7;
                  go(y);
                  go(z);
    }

}[/quote]

Isso imprimi isso o que? :shock:…

quando vc passa y que é um short vai haver ampliação e vai imprimir “int”, quando vc passa z que é long vai fazer autoBoxing e imprimir “Long”.

[quote=andredecotia]public class TiposPrimitivos {
public static void go(Long n){
System.out.println("Long ");
}

    public static void go(Short n){
            System.out.println("Short ");
            }

    public static void go(int n){
    	System.out.println("int ");
    }

    public static void main(String [] args) {
            short y=6;
            long z=7;
                  go(y);
                  go(z);
    }

}[/quote]

Não estou entendendo amigo , por favor seja mais claro…

[code][quote=andredecotia]public class TiposPrimitivos {
public static void go(Long n){
System.out.println("Long ");
}

    public static void go(Short n){
            System.out.println("Short ");
            }

    public static void go(int n){
    	System.out.println("int ");
    }

    public static void main(String [] args) {
            short y=6;
            long z=7;
                  go(y);
                  go(z);
    }

}[/quote][/code]
em que sentido!!!

vc definiu variios a serem mostrados na saída!

obs coloka em tag pra entender melhor!!

Do jeito que esta imprimi o que eu falei

E isso mesmo primeiro e feito uma ampliação , que é feita na ordem b s i l ou seja vamos tentar usar o primeiro mais a direita, se temos um short podemos usar um int. Se não for possivel podemos fazer um autoBoxing com o tipo primitivo. Se for lon e feito com Long.

Note que não é possível ampliação para autoBoxing. Um long a um wrapper Long.

Esse assunto é bem confuso tem algumas regras.

Que tal vc melhorar seus questionamentos?
Você precisa nos ajudar a entender seu problema.

Aliás,
Este é um ótimo tópico a qual vc deveria dedicar alguns minutos:
http://www.guj.com.br/posts/list/50115.java