1.概念
关键字this表示对当前对象的引用,说具体点就是对调用方法的那个对象的引用,只能在java方法的内部使用,容易搞混的是它和普通引用的区别到底是什么,为什么开发者要特意设计成这么一个关键字呢?聪明的开发者在我们调用每个方法的时候都设计成了隐藏式的将当前其引用作为第一个形参传递到了方法内部,隐藏式的形参在程序员需要明确使用的时候发现它没有一个明确的标识符,所以this关键词应运而生,如果我们每次定义一个需要内部使用当前对象引用方法的时候,都将其引用为形参,难免显得繁琐,总的来说,this关键字在Java中用来引用当前对象的实例变量和方法,使得代码清晰且易于理解
优点:
1.如果成员变量和方法参数名称相同的时候,会发生命名冲突,虽然编译器并不会报错,但因为命名相同,所以无法识别,导致结果出错,这时候使用this关键字可以区分它们,从而避免了命名冲突
2.在一个对象中明确调用另一种方法的时候,使用this关键字可以明确的指出当前对象
3.访问当前对象的属性或者方法等时候,使用this关键字能简化代码
缺点:
1.使用this关键字需要更多的内存和处理时间
2.过度使用this关键字可能导致代码变得冗长
3.可能导致对象未完全初始化就被调用等问题
用法:
1 引用当前对象的实例变量
注释: this.name 和this.age引用了当前对象的 name 和age实例变量,也避免了命名冲突
2.调用当前对象的构造函数
上面的图片中用this(15,"fa");调用了另一个方法
在构造方法中调用另一个构造方法:如果一个类有多个构造方法,其中一个构造方法可以调用另一个构造方法,可以使用this关键字
通过this引用其它构造方法时,开发者规定必须放在方法的第一行同时仅能调用一次
3.一个方法需要返回当前对象可使用this关键字
4.将当前对象作为参数传递给其他方法
简单来说,就是哪个对象调用,this就代表哪个对象
5.访问本类中的其他方法
语法格式是
this.方法名(参数列表);
注意:this不能在类定义的外部使用,只能的类定义的方法中使用
总结:
1、this:表示自身对象,也就是本对象自己
2、this.属性名:表示本对象自己的属性
3、this.方法名:表示本对象自己的方法
this的相关用法介绍完毕,热衷用文章来记录自己的成长,本人也是刚学java1个多月的小菜鸟,望大佬有问题及时指出~