Questão 152 TestKiller

3 respostas
M

Dada a seguinte questão :

Question 152
Given:

1. 10. public class Hello {  
   2. 11. String title;  
   3. 12. int value;  
   4. 13. public Hello() {  
   5. 14. title += ? World?;  
   6. 15. }  
   7. 16. public Hello(int value) {  
   8. 17. this.value = value;  
   9. 18. title = ?Hello?;  
  10. 19. Hello();  
  11. 20. }  
  12. 21. }

and:

1. 30. Hello c = new Hello(5);  
   2. 31. System.out.println(c.title);

What is the result?
A. Hello
B. Hello World
C. Compilation fails.
D. Hello World 5
E. The code runs with no output.
F. An exception is thrown at runtime.

Qual a resposta correta ? Justitifique.

3 Respostas

L

C - Compilation Fail

Analisando o código na linha 10. 19. está chamando o método Hello() que na verdade é o construtor da classe.

M

Ah blza. Entendi … tinha a resposta mas não tinha entendido porque …
Valeu cara.

blackout

Para esclarecer ainda mais, o erro acontece por duas razões além da mencionada pelo MAMS:

1 - Porque construtores devem ser a primeira chamada dentro de outros contrutores.
2 - Porque as chamadas devem ser feita com a palavra reservada this();

Criado 5 de outubro de 2010
Ultima resposta 5 de out. de 2010
Respostas 3
Participantes 3