49天精通Java,第8天,this关键字、SringBuilder中的this
大家好,我是哪吒。
一、this关键字
this用于表示当前对象,使用this关键字可以在类的方法中引用该方法所属的对象。
1、调用构造器
如果一个类中有多个构造器,可以使用this关键字来调用同一类中的其他构造器。
public class Student { private int value; public Student() { // 调用另一个构造器 this(0); } public Student(int value) { this.value = value; } }
2、引用成员变量或成员方法
使用this关键字来访问当前对象的成员变量或成员方法。
public class Student { private String name; public void setValue(String name) { // 引用成员变量 this.name = name; } public String getName() { // 引用成员变量 return this.name; } }
3、返回当前对象
在某些情况下,需要将当前对象作为方法的返回值返回,此时可以使用this关键字。
public class Student { public Student getThis() { // 返回当前对象 return this; } }
this关键字主要用于在类的方法中引用该方法所属的对象,并且还可以用于构造器间的调用。
二、代码实例
this只能在非静态方法中使用。
当你想在方法里调用对象时,直接使用this就可以了,因为它表示对该对象的引用。可以像使用任何其他对象引用一样使用this。
public class Student { public String getName(){ return "和哪吒一起学Java!"; } public String studyJava(){ return getName(); } public String studyJava2(){ return this.getName(); } }
上面的studyJava和studyJava2方法,效果是等价的。虽然studyJava中没有写this方法,但编译器会自动帮你添加上的。
三、SringBuilder中的this
当需要明确之处当前对象的引用时,才使用this关键字。
比如,它经常用在return语句中,来返回对当前对象的引用。
我们最常使用的SringBuilder就是典型的this用法。
public String getName(){ StringBuilder builder = new StringBuilder(); builder.append("哪吒"); builder.append("学习"); builder.append("Java"); return builder.toString(); }
打开StringBuilder源码一探究竟。
@Override public StringBuilder append(String str) { super.append(str); return this; }
this关键字在append()方法内部表示当前调用该方法的StringBuilder对象。
在使用StringBuilder类时,如果需要链式调用多个方法,可以使用this关键字来返回当前对象,以实现链式调用的效果。
🏆本文收录于,。
目前已经700+订阅,最强Java专栏,包含全部Java基础知识点、Java8新特性、Java集合、Java多线程、Java代码实例,理论结合实战,实现Java的轻松学习。
🏆哪吒多年工作总结:。