SCJP 1.6版考題 133
出自 陳富國維基館
Given: 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. } And given: ClassA a = new ClassA(); a.methodA(); What is the result? A. Compilation fails. B. ClassC is displayed. C. The code runs with no output. D. An exception is thrown at runtime .
解答
Ans: D
解說:
classC.getValue() 要叫用類別C中的物件方法getValue, classC現值為null,未指向一個類別C的物件, 以null參考來叫用一個物件方法會得到一個nullpointException例外。
|