方法存储在哪里?例如,
class Foo {
public void foo_test(){}
}
Foo f1 = new Foo();
f1.foo_test();
(new Foo() {
public void singleton_test(){
foo_test();
}
}).singleton_test();
这些方法是在类中还是实例中?
JVM是否进行方法查找(例如C++的虚函数表)?上述两种方法调用是如何进行的?
我正在查看这个页面:
http://docs.oracle.com/javase/specs/jvms/se7/html/jvms-5.html
但是它仅简要介绍了查找过程,未提及位置或任何细节。这个问题与 Oracle JVM 相关。
(new Foo() {}).singleton_test();
创建一个新的匿名类。 - Elliott Frisch