java中this关键字的用法

1.引用成员变量

在一个类的方法或构造方法内部,可以使用“this.成员变量名”这样的格式来引用成员变量名,有些时候可以省略,有些时候不能省略

2 引用构造方法

在一个类的构造方法内部,也可以使用this关键字引用其它的构造方法

3 代表自身对象

在一个类的内部,也可以使用this代表自身类的对象,或者换句话说,每个类内部都有一个隐含的成员变量,该成员变量的类型是该类的类型,该成员变量的名称是this

4 引用成员方法

在一个类的内部,成员方法之间的互相调用时也可以使用“this.方法名(参数)”来进行引用,只是所有这样的引用中this都可以省略

 

5.在继承体系中

this代表当前自身对象,当子类重写了父类method()方法,子类调用父类,父类用this.method()会调用自己的方法,不用则调用子类的方法

如以下代码:

public boolean contains(Class<?> exType) {

  Throwable cause = getCause();
    if (cause == this) {
    return false;  
  }

}

getCause()调用的父类方法,返回的是父类的Throwable对象,这个对象是在初始化为父类的this,构造器中可能重新赋值。

如果自定义异常类的this 与 父类的 cause的引用一样,则不正确,因为在自定义异常时会使用 super(msg, cause);  一般不会传this对象

原文地址:https://www.cnblogs.com/xianlei/p/7908068.html