Dúvida questao Testkiller

4 respostas
Markinhus86
Click the Exhibit button.

10. public class ClassA {

11. public void methodA(){

12. ClassB classB = new ClassB();

13. classB.getValue();

14. }

15. }

And:

20. class ClassB {

21. public ClassC classC;

22.

23. public String getValue() {

24. return classC.getValue();

25. }

26. }

And:

30. class ClassC {

31. public String value;

32.

33. public String getValue() {

34. value = ClassB;

35. return value;

36. }

37. }

Given:

ClassA a = new ClassA();

a.methodA();

A resposta indica q uma excecao sera lancada em tempo de execucao… Podem me dizer pq? agradeço

4 Respostas

T

Deve ser uma NullPointerException, já que você não inicializou o membro classC da classe ClassB.

Nykolas_Lima

NullPointer na linha 24.
Porque o objeto classC é uma variavel de instancia e como não foi inicializado, o seu valor é null.

deyvid

É isso mesmo, NullPointerException. Concordo em número, genero e grau!!!

antonioedirane

NullPointerException com certeza.
Inclusive até deixaram uma pista do erro, deixando a linha 22 em branco
Para compilar era só colocar:

ClassC classC = new ClassC(); nesta linha
Aí a classe seria inicializada normalmente e não lançaria a NPE.
Eu também estou estudando para o SCJP6 e estou nesta mesma pergunta.
Inclusive o meu voucher acabou de chegar!!! :slight_smile:
Mas só vou marcar a prova depois que terminar de estudar todas as 224 perguntas, pois ainda tenho algumas dúvidas.
E como o meu voucher não tem retake, tem que ser de primeira. :?

Criado 28 de abril de 2009
Ultima resposta 29 de abr. de 2009
Respostas 4
Participantes 5