2015-01-11 61 views
0

爲什麼方法可變參數必須與主方法體分離?下面的代碼是正確的,但爲什麼我不能把可變參數方法聲明放在主方法體中?爲什麼方法可變參數必須在java中單獨的塊?

public class TryVariableArgumentList { 

    public static void main(String[] args) { 
     x("first","second"); 

     public static void x(String... list) { 
      for (String y : list) 
       System.out.println(y); 
     } 
    } 
} 
+1

可能重複的[爲什麼Java的主要使用可變長度參數列表?](http://stackoverflow.com/questions/2201696/why-doesnt-javas-main-use-a-variable-length-參數列表) –

回答

4

方法

public static void main(String... args) { 
    //code 
} 

也是完全合法的

與代碼的問題是在方法內部方法聲明本身是Java不允許

編譯代碼必須是像這樣

class TryVariableArgumentList { 
    public static void main(String[] args) { 
     x("first","second"); 
    } 

    public static void x(String... list) { 
     for(String y : list) 
      System.out.println(y); 
    } 
} 

我想你需要發表你看過的東西,因爲也許你錯誤地解釋了一些東西

希望這有助於!

+0

謝謝你,我改變了我的代碼,你能告訴我爲什麼它沒有編譯? –

+1

Java中不允許使用方法內部的方法 – Vihar

+0

編輯我的答案tooo – Vihar

0

您的方法x在main方法中聲明。這不合法。在main之外聲明x。

+0

你是我的感謝。 –

相關問題