SCJP 1.6版考題 015
出自 陳富國維基館
11. class Mud{ 12. //insert code here 13. System.out.println("hi"); 14. } 15. } And the following five fragments: public static void main(String...a){ public static void main(String.* a){ public static void main(String... a){ public static void main(String[]... a){ public static void main(String...[] a){ How many of the code fragments,inserted independently at line 12,compile? A. 0 B. 1 C. 2 D. 3 E. 4 F. 5
解答
Ans: D
解說:
public static void main(String...a){ public static void main(String.* a){ //錯,沒有*這種用法 public static void main(String... a){ public static void main(String[]... a){ public static void main(String...[] a){ //錯,…必須出現在[]之後,參考第2點的解釋 參數列表使用上的限制 1. 參數列表與陣列參數意義相同,不可同時出現。 //下列2個方法雖然寫法不同,但會被視為相同的方法 void showName(String... names) void showName(String[] names) 2. 參數列表要放在所有參數的後面。 void showName(String str, String... names) //正確 void showName(String... names, String str) //錯誤 //編譯器無法判斷要如何切割,所以編譯失敗 showName("C++概論", "資料庫概論", "網路概論"); 3. 1個方法只能使用1次參數列表。 void showName(String str, String... names) //正確 void showName(String... str, String... names) //錯誤
|