SCJP題庫第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) //錯誤
Comments