Pessoal alguem pode me explicar por favor, o pq que a resposta certa é a alternativa C , o codigo não caracteriza uma sobrecarga??
A. An exception is thrown at runtime.
B. Compilation fails because of an error in line 7.
C. Compilation fails because of an error in line 4. – pq que é essa a resposta certa ??
D. Compilation succeeds and no runtime errors with class A occur.
Pessoal acho que descobri, alguem pode só me confirmar!!
“Quando alteramos o tipo de retorno do metodo, obrigatoriamente temos que alterar a lista de argumentos”?? Seria isso ??
w1lson
$RDS$,
Para que exista uma sobrecarga os parâmetros do método devem ser alterados. Só é permitido modificar o tipo de retorno se os parâmetros forem diferentes. Neste caso o doIt() da linha 2 e da linha 4 tem os mesmos parâmetros ou seja, nenhum parâmetro, por isso dá erro.
Abraço,
w1lson
É isso mesmo.
RDS1
Obrigado amigão!!
mausexdd
Neste caso o doIt() da linha 2 e da linha 4 tem os mesmos parâmetros ou seja, nenhum parâmetro, por isso dá erro.
como nosso amigo disse ... eu aprendi uma associação simples que pode te ajudar...
Sobrecarga se define em... Metodos com o mesmo nome porem com assinaturas diferentes ex..
*NOME-ASSINATURApublicvoidsetaID(intx);publicvoidsetaID(Stringx);publicvoidsetaID(doublex);publicvoidsetaID(charx);publicvoidsetaID(floatx);pode-setbmobterretornosdiferentescomomesmotipododado,naoháinfluencianasobrecarga.publicdoubleentraNumero(doublex){returnx;}publicdoubleentraNumero(intx){returnx;}publicdoubleentraNumero(floatx){returnx;}*float,intebytesenaomeenganopodemserpromovidosadoublesemproblemaalgumporemtomecuidadocomaseguintesobrecarga.publicintentraNumero(intx){returnx;}//okpublicintentraNumero(floatx){returnx;}//okpublicintentraNumero(bytex){returnx;}//okpublicintentraNumero(doublex){returnx;}//ERRO ! um metodo int nao pode retornar um double pois double nao se "Promove " a int seria como regredir de cargo...