当我们编写像 Foo f = new Foo();
这样的语句时,我们知道 JVM 会调用默认的 ClassLoader.loadClass()
,它返回 的实例>Class
,现在我们如何从 Class
获取我们的 Foo
实例?
最佳答案
我不完全确定你在问什么,但如果你问的是当你创建一个类的新实例时执行什么代码,那么答案是这是Java虚拟机的原始操作,并且不涉及任何 Java 代码。
实例创建的行为由12.5. Creation of New Class Instances部分指定。 Java 语言规范。
还有一个关于 4.10.2.4. Instance Initialization Methods and Newly Created Objects 的部分在 Java 虚拟机规范中,但这并不是那么有趣。
要了解创建对象时实际发生的情况,您需要选择 JVM 实现并阅读其源代码。或者,您可能会做大多数 Java 程序员所做的事情,并将其视为一种本质上神奇的操作!
关于java - 类实例化涉及的步骤?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17360232/