2016-06-21 3 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 показать мне две ошибки, связанные с заданиями (JavaClass1.var1 и JavaClass.var2) «Пакет OGG делает не существует. ожидается.

Но если я создать экземпляр класса и атрибуты назначения внутри основного метода, нет никаких проблем. почему?

+0

Может быть, вы не implementet классов в вашем заголовке? Или, может быть, вы задали свои переменные как частные? Еще один код будет полезен – alovaros

+0

@alovaros Код достаточно. Ошибка уже описана в ответе. – Fildor

ответ

4

Вы не можете установить поле объекта вне метода.

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

должно быть внутри какого-либо метода.

Классы состоят из полей классов (например, вашего var1 в первом классе) и методов. Методы «выполняют работу», т. Е. Выполняют код. Вы можете инициализировать поля, но весь другой код должен быть внутри метода.

Еще одно примечание: очень плохой стиль для публичных полей. Вместо этого напишите геттеры и сеттеры.