考虑这个课程:
public class Test {
private int bar = 5;
public void foo () {
System.out.println("hi");
}
}
Run Code Online (Sandbox Code Playgroud)
现在假设我们有以下代码段执行:
Test obj1 = new Test();
Test obj2 = new Test();
Test obj3 = new Test();
Run Code Online (Sandbox Code Playgroud)
所有三个对象都存在于同一范围内.因为bar不是静态的,所以内存中会有三个独立的bar实例.
在内存中有foo方法的三个实例吗?
JVM是否做了一些魔术,以便每个对象可以在内存中使用一个方法声明?
是否有这种情况的名称,以便我可以看到其他语言是否这样做?