静态领域的所有权& Java中的方法

时间:2017-06-22 18:56:20

标签: java class static-methods

我想问一个关于类和#34;机制"的问题,Java将它们加载到内存中,特别是关于静态字段和方法的创建。

一个类可能有静态字段和方法,可以在加载时从类本身调用,而无需创建类的实例。怎么回事?什么是"机制"它背后?

我知道当JVM需要加载一个类时,它会创建一个类对象,其中包含有关如何创建相应类的实例的元数据。但是当加载静态字段和方法时,例如它们是否被分配给类对象,作为回报,它为每个创建的新实例创建了它们的引用?这是什么解释了如何从类(无论在对象面向语言中可能意味着什么)以及它的每个实例调用静态方法?无论我多么努力,我都无法找到关于这件事情如何运作的答案。

最重要的是,有谁知道为什么Java允许从实例访问静态字段,以及"类本身" ??我的意思是什么概念。

事先感谢你们所有人。

1 个答案:

答案 0 :(得分:0)

我认为你的意思是类加载和链接的概念。这里解释得非常好jvmspec

特别是

部分
  

5.3。创建和加载

您也可以查看jvm architecture 。它更好地理解了用于存储类级信息的方法区域,例如静态变量和方法。