Как сказано в ответе Ника, в спецификации языка не существует конкретного «физического» местоположения, но с точки зрения логической ментальной модели, о которой вы можете подумать, она может помочь вам представить статические поля как прикрепленные объект класса (Foo.class
) класса, к которому принадлежат эти поля.
Кроме того, объект класса используется другими способами (которые предусмотрены в спецификации языка) при работе со статическими сущностями: например, при вызове статического метода synchronized
блокировка содержится в объекте класса класса, к которому принадлежит метод.