2 thelearner TheLearner 于 2017.09.06 17:28 提问

关于Java中this深层次的问题 1C

目前我所知道的this的用法包括以下几种:
(1)this代表对象:调用该函数的对象。
(2)构造函数访问本类中的构造函数,但必须放在首行。this(), this(name);
(3)当成员变量和局部变量重名,可以用this来代表成员变量(如果在本类中用到本类的对象。就用this)
(4)this指代本类实现的的接口。

问题:
(1)除了这四个,还有其他的用法吗?
(2)请问this实现原理是什么?比如第四个,怎么指代接口的(应该指代实现接口的方法吧?)。还有其他三个的实现原理呢呢?

4个回答

caozhy
caozhy   Ds   Rxr 2017.09.06 21:01

编程语言是一种工具,既然是工具,是拿来用的。你的学法很迂。

a22222222q
a22222222q 回复唯重: 应该这么说,一个作家如果不懂茴香豆的茴有几个写法,那他一辈子都只能算一个抄手。
3 个月之前 回复
caozhy
caozhy 回复唯重: 这叫什么话,你的意思是,一个开车的人不把发动机的原理研究透,就一辈子都是业余司机?
3 个月之前 回复
GMingZhou
GMingZhou 这样子的话就一辈子的码农了!
3 个月之前 回复
baidu_26611019
baidu_26611019   2017.09.07 19:58

this是当前对象的一个引用,通过this可以访问本对象的所有成员变量和方法。此外,值得注意的是,每一个方法都隐藏了第一个参数this。
没有this我们不能在方法中访问对象的其他成员,往往在本对象中可省略this,除了与参数重名时需要指出。

lkhog
lkhog   2017.09.06 19:42

this代表当前对象。可以指向本类实现的接口,猜测和动态代理有关。

GMingZhou
GMingZhou   2017.09.06 22:15

Java中提供了this关键字,this关键字总是指向调用该方法的对象。

根据this出现位置的不同,this作为对象的默认引用有两种情形:
a.构造器中引用该构造器正在初始化的对象
b.在方法中引用调用该方法的对象

GMingZhou
GMingZhou 回复caozhy: 谢谢
3 个月之前 回复
caozhy
caozhy 不是码农同学,你说得还没有lz总结得全呢
3 个月之前 回复
Csdn user default icon
上传中...
上传图片
插入图片