今天复习了下JavaSE方面的知识,看到了this关键字,说实话,以前对this关键字知道一些应用的场合,可是一直没有把它梳理下,今天既然有这个想法,当然要把他搞透了。
this关键字主要有以下几个应用:
1.在一个类中类的成员变量和方法的局部变量同名。使用this.XX来访访问成员变量。
2.this调用这个类中的另外一个构造方法。
3.在一个实例方法内访问当前实例的应用。
应用一:
public class Student{
String name;
private void SetName(String name){
this.name=name; //将局部变量的值传递给成员变量
}
}
一般情况下,在Java语言中引用成员变量或者成员方法都是以对象名.成员变量或者对象名.成员方法的形式。不过有些程序员即使在没有相同变量的时候,也喜欢使用this.成员变量的形式来引用变量。这主要是从便于代码的阅读考虑的。一看到这个this关键字就知道现在引用的变量是成员变量或者成员方法,而不是局部变量。这无形中就提高了代码的阅读性。不过话说回来,这是this关键字在Java语言中的最简单的应用。从这个应用中,我们可以看出this关键字其代表的就是对象的名字。掌握这个基本的原理之后,再了解后续的一些高级应用,也就是水到渠成的事情了。
应用二:
public class Student{
public Student(){
this("xiaoxiao")
}
public Student(String name){
System.out.println(name);
}
}
上面两个构造方法一个带形参一个不带,形参了方法的重载,需要注意的是在一个类中,不能每个构造方法都有this()。
应用三:
return this.
this关键字除了可以引用变量或者成员方法之外,还有一个重大的作用就是返回类的饮用。如在代码中,可以使用return this,来返回某个类的引用。此时这个this关键字就代表类的名称。如这个代码在上面这个student类中,那么这个代码其代表的含义就是return student。可见,这个this关键字除了可以引用变量或者成员方法之外,还可以做为类的返回值。这才是this关键字最引人注意的地方。