2016-06-21 116 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。