cv1
Novembro 3, 2003, 10:11am
#1
O que isso imprime?
[code]public class Foo {
public static void bar(String foo, Object bar) {
System.out.println("bar 1");
}
public static void bar(Object foo, Integer bar) {
System.out.println("bar 2");
}
public static void main(String[] args) {
System.out.println(bar("foo", new Integer(1));
}[/code]
LecaDF
Novembro 3, 2003, 10:32am
#2
Este código não irá compilar, por que há ambiguidades na sobrecarga dos métodos. A ambiguidade acontece por que uma String é um objeto, e wrapper class Integer idem.
Alessandro F. Leite
elvishr
Novembro 3, 2003, 12:30pm
#4
Está faltando um parênteses na chamada do método bar
:?
Hempx
Novembro 3, 2003, 12:38pm
#5
[quote=“New__Radical”]Muito boa!!!
E também, o método statico bar, retorna uma void , que não pode ser usado por println.[/quote]
porque???
nao entendi??
o println nao procuraria o metado toString ???
elvishr
Novembro 3, 2003, 12:40pm
#6
[quote]nao entendi??
o println nao procuraria o metado toString ???[/quote]
Sim, se retornasse alguma coisa…
Ok, pessoal. O que o Carlos quis dizer foi:
public class Foo {
public static void bar(String foo, Object bar) {
System.out.println("bar 1");
}
public static void bar(Object foo, Integer bar) {
System.out.println("bar 2");
}
public static void main(String[] args) {
bar("foo", new Integer(1));
}
}
Pronto. O que isso imprime?
a) bar 1
b) bar 2
c) compile-time error
d) runtime error
e) nda
cv1
Novembro 3, 2003, 12:52pm
#8
Droga, acharam as 3 pegadinhas
Parabens td mundo aih, vcs acertaram todas
Muito boa!!!
E também, o método statico bar, retorna uma void , que não pode ser usado por println.