23.Java-KeyWord this


this关键字的用法有三种

1、在本类的成员方法中,访问本类的成员变量

public class SuperClass {
    int num = 30;
}

public class SubClass extends SuperClass {
    int num = 20;
    public void showNum(){
        int num = 10;
        System.out.println(num);// 局部变量
        System.out.println(this.num);// 本类的成员变量
        System.out.println(super.num);// 父类的成员变量
    }
}

2、在本类的成员方法中,访问本类的另一个成员方法(可以看成是起到强调作用)

public class SuperClass {
    public void methodA(){
        System.out.println("SUPER");
    }
}

public class SubClass extends SuperClass {
    public void methodA(){
        System.out.println("AAA");
    }

    public void methodB(){
        this.methodA();
        System.out.println("BBB");
    }
}

3、在本类的构造方法中,访问本类的另一个构造方法

public class SuperClass {
}

public class SubClass extends SuperClass {
    // 无参构造
    public SubClass(){
        this(123); // 本类的无参构造调用本类的有参构造
    }
    
    // 有参构造
    public SubClass(int n){
    // super(); 默认调用
    }
}

Author: Wolfwotz
Reprint policy: All articles in this blog are used except for special statements CC BY 4.0 reprint polocy. If reproduced, please indicate source Wolfwotz !
  TOC