【发布时间】:2014-03-20 00:30:23
【问题描述】:
考虑这个类:
public class Test {
private int bar = 5;
public void foo () {
System.out.println("hi");
}
}
现在假设我们正在执行以下代码部分:
Test obj1 = new Test();
Test obj2 = new Test();
Test obj3 = new Test();
所有三个对象都存在于同一范围内。因为 bar 不是静态的,所以内存中会有三个单独的 bar 实例。
内存中有 foo 方法的三个实例吗?
JVM 是否做了一些魔法让每个对象都可以在内存中使用一个方法声明?
是否有这种情况的名称,以便我可以查看其他语言是否这样做?
【问题讨论】: