Почему я не могу напечатать значение переменной непосредственно в основном методе, который объявлен в классе над основны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»