java中this用法详解

一:用法总括

  this关键字必须放在非静态方法内:

  this关键字代表自身,在程序中主要的使用用途有以下几个方面:

  1:引用成员变量。

  2:在自身构造方法内部引用其他构造方法。

  3:代表自身类对象

  4:引用成员方法

二:引用成员变量

  在一个类的方法或构造方法内部,可以使用“this.成员变量名”来引用成员变量,参数名与成员变量名重叠时不能省略,不重叠时可以省略。

例如:

public class ReferenceVariable {
    private int a;
    public ReferenceVariable(int a) {
        this.a = a;
    }
    public int getA() {
        return a;
    }
    public void setA(int a) {
        this.a = a;
    }
    
}

  构造方法和set方法内部参数a与成员变量a名称一样,变量名发生重叠,java语言规定当变量名作用范围重叠时,作用域小的变量覆盖作用域大的变量。当然,为了增加代码的可读性,一般将参数名和成员变量名设为一致,这样访问成员a则必须使用this进行引用。

三:引用构造方法

  在一个类的构造方法内部,也可以使用this关键字引用其他的构造方法,达到优化代码的目的。

例如:

public class ReferenceConstructor {
    private int a;
    public ReferenceConstructor() {
        this(0);    //无参构造调用有参构造
    }
    public ReferenceConstructor(int a) {
        this.a=a;
    }
}

  在构造方法内部使用this关键字调用其他构造方法时,调用代码只能出现在构造方法内部的第一行可执行代码。

 四:代表自身对象

  每个类内部都有一个代表自身类的隐含的成员变量,该成员变量的类型是该类的类型,该成员变量的名称是this,实际使用this代表自身类的对象的实例。

例如:

public class ReferenceObject {
    ReferenceObject instance;
    public ReferenceObject() {
        instance = this;
        
    }
    public static void main(String[] args) {
        ReferenceObject ro = new ReferenceObject();
        System.out.println(ro.instance);
    }
    
}

五:引用成员变量

  在一个类内部,成员方法之间的互相调用可以使用“this.方法名(参数类型 参数)”的方式调用,其中this可以省略。

猜你喜欢

转载自www.cnblogs.com/zhaoja/p/11362748.html