questao dificil
Temos sobrecarga com widening e boxing.
Lembrando que :
1-Widening vence boxing. go(int) ira chamar go(long) ao inves de go (integer) , se ambos estiverem disponiveis .
2-widening de tipos empacotadores nao eh possivel . ex: go(Short) nao podera chamar go(Integer) .
3-Vc nao podera widening e depois boxing. ex: go(int) nao podera chamar go(Long)
4- Vc podera boxing e depois wideing . Isto eh um int podera sofrer boxing e entao widen para Object.
entao:
x.teste(1) , seria facilmente impresso float , pela regra do widening. ja que int eh cabivel em float.
x.teste('A) , char pode ser promovido para int, long, float , double . O menor seria o float…
x.teste(1L); Faz o unboxing para long … long eh cabivel em short? nao . e float… sim .
x.teste(10F); faz o unboxing para float ... float eh cabivel em float ? sim
x.teste(1.0); Esta eu nao sei explicar...