当在Applet的init()
方法中注册事件时,我们添加方法addTypeListener(this)
。
但我知道关键字this
是指调用该方法的对象。那么,当我们还没有创建applet类的任何对象时,this
会引用什么?
请澄清我的疑虑。
答案 0 :(得分:2)
当您没有明确创建Applet的实例时,this
的工作原因是因为JRE对Applet的处理方式略有不同。
Applets是一个特殊的类, Java实例化加载时。从那里,该对象由JRE拥有,并通过这种对象进行接口。
一旦Java创建了applet的实例,它就会调用init()
代替构造函数(从constructors cannot conform到原型contract)。
同样,当您的applet完成或页面被卸载时,Java会担心关闭您的applet。
答案 1 :(得分:1)
但我知道关键字this指的是调用方法的对象。
这不是真的。实际上在实例方法的代码中,
this
指的是调用该方法的对象。
那么,当我们没有创建applet类的任何对象时,它会引用什么?
JVM创建了一个Applet类的对象/实例(子类),
所以this
指的是你的Applet类的实例。
答案 2 :(得分:-1)
'这' keyword是指您正在使用的类的对象。 '这' keyword可用于调用类的默认构造函数。同样在使用继承概念时,超级' keyword用于调用继承类的默认构造函数,或者可以称为继承/父类'对象