2017-09-11 50 views
-4

編輯:是否有可能或有用的初始化類外的變量? 例如,如果我有這樣的代碼:是否可以在類之外初始化變量?

static int example = 1; 

public class test { 

public static void main(String []args) { 
System.out.println("I have " + example + " question!"); 
} 

還是更多有用做到這一點就像這樣:

public class test { 
static int example = 1; 

public static void main(String []args) { 
System.out.println("I have " + example + " question!"); 
} 

如果這兩種方式都是可能的,有什麼區別? 感謝您提前

+2

你的第一個例子不會編譯。 –

+3

你試過了嗎? – shmosel

+4

這兩個示例都不會編譯 – baao

回答

-3

在Java中,不允許在類聲明之外聲明變量,並且會導致編譯錯誤。

您必須使用您發佈的第二個代碼段。下面是你的代碼的編輯的版本,使其工作:

public class test { 
    private static int example = 1; 

    public static void main(String []args) { 
     System.out.println("I have " + example + " question!"); 
    } 

}

+0

第二個也不行。 –

+1

**「現在允許類聲明,並會導致編譯錯誤。」** - 大聲笑,我認爲你的意思是不允許 –

+0

我已經更新了我的答案。 – kevenlolo

0

沒有沒有你的代碼片斷都可以工作。第一個將不起作用,因爲Java沒有全局變量,第二個將不起作用,因爲main是靜態方法並且靜態方法不能訪問非static的類變量

0

因爲Java不支持全局變量。 Java設計時考慮了OOPS原則,因此,Java中的每個變量都是本地的或者是類的成員。

所以你不能在類之外聲明變量。

相關問題