Почему я не могу напечатать значение переменной непосредственно в основном методе, который объявлен в классе над основныJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Почему я не могу напечатать значение переменной непосредственно в основном методе, который объявлен в классе над основны

Сообщение Anonymous »

Почему значение статической переменной разрешено печатать непосредственно в основном методе, а для печати обычного значения целочисленного типа требуется создание объекта.
Хотя это глобально, но доступ к x также осуществляется в том же классе, тогда почему я не могу получить к нему прямой доступ?
При ответе, пожалуйста, осветите часть выделения памяти.
Насколько я понимаю, статическая, поскольку это глобальная переменная, хранящаяся при постоянной генерации, тогда как насчет этого примитивного int x, разве это не выделено в частном стеке?
public class Test{

int x = 7;
static int y = 10;

public static void main(String[] args) {

System.out.println("the value of y "+ y);

//compile error on sysout for value x like this,
//System.out.println("the value of x "+ x);

//While in this way i am able to print x, why?

Test test= new Test();
System.out.println("the value of x "+test.x);

}

}


Подробнее здесь: https://stackoverflow.com/questions/473 ... h-is-decla
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»