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