:::info

一、this关键字的概述

::: 成功创建一个对象后,虚拟机会动态的创建一个引用,该引用指向新创建的对象,并且该引用的名字就是this :::info

二、this关键字指的是什么?

:::

  1. 在构造方法中,this指的是什么?
  • 在构造方法中,this指的是“新创建的对象”
  1. 在成员方法中,this指的是什么?
  • 在成员方法中,this指的是“当前方法的调用者对象” :::info

    三、this关键字的作用?

    :::
  1. 操作成员变量,语法:
    1. 对象.成员变量名
  • 如果成员变量和局部变量不同名时,我们可以通过this关键字来操作成员变量,也可以忽略this关键字来操作成员变量
  • 如果成员变量和局部变量同名时,方法默认采用“就近原则” 这时,我们需要通过this关键字来操作成员变量。**因为在成员方法中,this指向调用方法的对象,在构造方法中,this指向新创建的对象**
  1. 调用成员方法,语法:
    1. 对象.成员方法名(实参列表);
  • 调用当前类的别的成员方法时,我们可以通过this关键字来调用,也可以忽略关键字来调用
  1. 调用构造方法,语法:
    1. this(实参列表);
  • 作用:调用当前类的别的构造方法,此处仅仅调用构造方法并没有创建对象,从而实现代码的复用。
  • “this(实参列表);”必须存在于构造方法中,并且必须在构造方法有效代码的第一行!
  • 构造方法不能递归调用,否则就会陷入死循环,从而造成程序编译错误!
  • 在一个类中,允许定义多个构造方法,但是不能所有的构造方法中都存在“this(实参列表)”,因为这样做肯定会陷入死循环!