объекты хранятся в куче, а статические переменные хранятся в каком-то фиксированном месте, называя это статическим хранилищем, так что они могут быть доступны в течение всего времени работы программы.
Код: Выделить всё
class Myclass{
static int x =0; //stored on static storage
Myclass obj = new Myclass(); //stored on heap
}
- Где хранится объект, объявленный статическим.
- Как в этом случае JVM создает экземпляр.
Код: Выделить всё
class Myclass { static Myclass obj = new Myclass(); //no man's land }
Подробнее здесь: https://stackoverflow.com/questions/125 ... ed-in-java
Мобильная версия