2016-08-13 3 views
0

Где объявлено статическое поле класса и как это поле связано с каждым классом?Что такое статическая переменная класса в java

System.out.pritnln(String.class); 
System.out.pritnln(Student.class); 

выход:

class java.lang.String 
class Student 
+2

Это реализовано JRE (https://docs.oracle.com/javase/specs/jls/se8/html/jls-15.html#jls-15.8.2). –

+0

Я просто отметил этот вопрос как неясный, потому что ... Я действительно этого не понимаю. –

+0

Спасибо @OliverCharlesworth –

ответ

0

Это зависит от реализации виртуальной машины, но если вы делаете кучу дамп Hotspot JVM вы можете увидеть специальный объект для каждого класса, который держит статические поля ,

Вы можете получить доступ к ним динамически во время выполнения с помощью отражения.