SCJP題庫第105題
Given:
1. public class A {
2.
3. private int counter = 0;
4
5. public static int getInstanceCount(){
6. return counter;
7. }
8.
9. public A(){
10. counter++;
11. }
12.
13. }
And given this code from Class B:
25. A a1 = new A();
26. A a2 = new A();
27. A a3 = new A();
28. System.out.println(A.getInstanceCount());
What is the result?
A. Compilation of class A fails.
B. Line 28 prints the value 3 to System.out.
C. Line 28 prints the value 1 to System.out.
D. A runtime error occurs when line 25 executes.
E. Compilation fails because of an error on line 28.
Ans: A
解說:
getInstanceCount是類別A的類別成員方法,在類別方法中要存取非類別成員counter,即物件成員,先要建立物件或以一個明確的物件參考存取counter物件變數
第6行須改為return new A().counter;
Comments