下面代码怎么隐式地使用this引用逸出对象
问题描述:
书上说内部类的实例中包含了ThisEscape实例的隐含引用,我怎么没看出来,求大神们解释
答
new EventListener() {
public void onEvent(Event e) {
doSomethiing(e);
}
}
这是用了一个匿名内部类,因为监听触发的方法只在注册的时候实现并作为参数传给注册方法,故使用匿名内部类就可以了
在这个内部类中包含了ThisEscape的引用,你可以在这个类中直接访问ThisEscape的成员变量或方法,这不就证明了是包含的吗,
否则你怎么访问的
答
古尔丹兄弟讲的不错,由于内部类可以使用外部类的成员和方法,所以隐含的创建了外部类的示例。