JAVA小白一枚,技术文章纯粹为了记录和理解学习内容
结合今天看的《疯狂JAVA讲义》,总结总结自己对Java的this关键字的理解;一句一句地解释
1、this关键字总是指向调用该方法的对象。
从这句话可以理解成this代表一个对象,因为只有实例对象可以调用方法。
2、根据this出现的位置的不同,this作为对象的默认引用有两种情形:构造器中引用该构造器正在初始化的对象;在方法中引用调用该方法的对象。
不是很懂下次再说
3、this关键字最大的作用就是让类中一个方法,访问该类里的另一个方法或实例对象。
最大的作用也就是最常见的用法,在平常,我们要实现让类中一个方法,访问该类里的另一个方法或实例对象,我们通常会这么写:
上图是假设一个Dog类,这个Dog对象的run()方法调用它的jump()方法的编写过程。而事实上我们只需要:
甚至:this可以省略,虽然只是假象
由上面那个例子我们是不是又可以清晰地看出 this其实就是那个d,没错this指向Dog类的实例对象
4、this可以代表任何对象,当this出现在某个方法体中时,他所代表的对象是不确定的,但他的类型是确定的:它代表的只能是当前类的实例。只有当方法被调用时,它所代表的对象才会被确定下来,谁在调用这个方法,this就代表谁
这句话是精髓,简直恍然大悟。首先,this不是为了谁谁谁而刻意这么用。有时候如下图:
其实就是单纯地为了区分变量名,等到时候哪个对象来调用该方法再指向哪个对象就完事了。