可能是重复问题:
Java实例化。
假设我们有一个Java类Test,这个类有两个数据字段a和b,并且有一个方法foo()。 当我们执行"Test t=new Test()"时,我想知道以下几点。
- 堆栈上发生了什么?
- 堆上发生了什么?
- 在运行时,我们有一个类的副本和多个实例(对象),对吗?那么类内容存储在哪里?类内容是静态的。
- 在堆上,我认为数据字段a和b应该被存储,因为它们是动态的(特定于某个对象)。foo()方法怎么样?我们必须将foo()的内容与a和b一起存储在堆上吗?
基本上,我想知道new关键字的魔力是什么?