"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 voi...) |
(無差異)
|
於 2013年3月30日 (六) 08:45 的最新修訂
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) //錯誤
| ||||||||||||||||||||