在Java中理解这个关键字
在小程序的在Java中理解这个关键字,java,applet,this,Java,Applet,This,在小程序的init()方法中注册事件时,我们添加方法addTypeListener(this) 但是我知道关键字this指的是调用该方法的对象。那么,当我们还没有创建applet类的任何对象时,this指的是什么? 请澄清我的疑问 但我知道关键字this指的是调用该方法的对象 不完全是这样。实际上,在实例方法的代码中, 此引用调用该方法的对象 那么,当我们还没有创建applet类的任何对象时,它指的是什么 JVM已经创建了Applet类(即Applet的子类)的对象/实例, 因此,这个引用了Ap
init()
方法中注册事件时,我们添加方法addTypeListener(this)
但是我知道关键字this
指的是调用该方法的对象。那么,当我们还没有创建applet类的任何对象时,this
指的是什么?
请澄清我的疑问
但我知道关键字this指的是调用该方法的对象
不完全是这样。实际上,在实例方法的代码中,此
引用调用该方法的对象
那么,当我们还没有创建applet类的任何对象时,它指的是什么
JVM已经创建了Applet类(即Applet的子类)的对象/实例,因此,
这个
引用了Applet类的实例 “this”关键字是指您正在处理的类的对象This'关键字可用于调用类的默认构造函数。类似地,在使用继承概念时,“super”关键字用于调用继承类的默认构造函数,或者可以被称为继承的/父类对象。当您没有显式创建小程序实例时,之所以能起作用,是因为JRE对小程序的处理略有不同
applet是一个特殊的类,Java在加载时为您实例化。从那里开始,对象由JRE拥有,并由JRE接口
一旦Java创建了小程序的实例,它就会调用init()
来代替构造函数(因为它是一个原型)
同样,当小程序完成或页面卸载时,Java会担心关闭小程序。仅仅因为您没有创建类的实例并不意味着什么都没有创建。一旦所有构造函数完成,就创建了对象
init()
不是构造函数,除非从构造函数调用它,否则它将具有完整构造的对象可用。+1,这实际上不是世界上最糟糕的问题。此
不是指调用方法的对象,而是指调用方法的对象。super()
和this
与默认构造函数无关。'this'关键字可用于调用类的默认构造函数。
错误此
可在构造函数中用于调用任何其他构造函数。类似地,super
可用于调用直接父类的任何构造函数。与this
类似,super
也可以用于方法中,以调用方法的父版本。浏览器没有内置JVM。至少,当前没有任何浏览器:)