2016-06-21 78 views
1

我正在學習Java,而且我是初學者。 我試着創建三個類(在同一個包中)。 一個帶有主要方法(JavaApp1),另一個我稱爲「JavaClass1」,最後一個類爲「JavaClass2」。 這裏的JavaClass1代碼:主要方法外的Java類實例

public class JavaClass1 { 
public int var1; 
public int var2; 

} 

JavaClass2代碼:

public class JavaClass2 { 
JavaClass1 ogg = new JavaClass1(); 
ogg.var1 = 4; 
ogg.var2 = 7; 

} 

在JavaClass2,Netbeans的告訴我的兩個錯誤,涉及到包裝OGG做的作業(JavaClass1.var1和JavaClass.var2)」不存在。預期。

但是,如果我創建類的實例和主要方法中的屬性分配,不存在任何問題。爲什麼呢?

+0

也許你沒有在你的頭implementet類? 或者,也許你把你的變量設置爲私人? 一些更多的代碼將有用 – alovaros

+0

@alovaros代碼就足夠了。錯誤已經在答案中描述。 – Fildor

回答

4

您不能在方法外設置對象的字段。

ogg.var1 = 4; 
ogg.var2 = 7; 

必須在某種方法。

類由類字段(如第一類中的var1)和方法組成。方法「做這項工作」,即執行代碼。您可以初始化字段,但所有其他代碼必須位於方法內。

另外一個注意事項:公共領域的風格非常糟糕。請改寫getter和setter。