SCJP 1.6版考題 077
出自 陳富國維基館
11. public static void main(String[] args) { 12. Object obj = new int{1, 2, 3}; 13. int[] someArray = (int[])obj; 14. for (int i: someArray) System.out.print(i + " "); 15. } What is the result? A. 1 2 3 B. Compilation fails because of an error in line 12. C. Compilation fails because of an error in line 13. D. Compilation fails because of an error in line 14. E. A ClassCastException is thrown at runtime.
解答
Ans: A
解說:
此題正常編譯可執行,第12行先用一個父類別型態Object的物件參考指向一個一維的整數陣列 Everything is an object, 這句話代表只要是Object型態的物件參考,就可以指向系統中任一型態的物件,如此題中的obj。 13行,等號的右邊是Object型態的物件參考,等號右邊是父類別(大),指定給子類別時須進行轉型的動作, 可進行轉型的基礎是obj所指的物件型態必須是int[]。
|