**this关键字**

public class C1 {
    int age;         //成员变量
    public C1(int a){//局部变量a
        this.age=a;//将局部变量的值赋给成员变量age
    }
}

想上述代码在语法上并没有什么问题,但这样会造成程序代码可读性差

像这类情况java提供了this关键字,用于访问类中的其他对象

在java中this的用法一共有三种

  • 用this关键字调用成员变量,解决与局部变量名称冲突问题

    public class C1 {
        int age;         //成员变量
        public C1(int age){//局部变量age
            this.age=age;//将局部变量的值赋给成员变量age
        }
    }

     

  • 通过this关键字调用成员方法
    public class C1 {
       
        public void opp(){//成员方法
           /*
           方法体
            */
        }
        public void speak(){
            this.opp();
        }
    }

    注意此处this关键字可以不写

  • this 关键字调用构造方法

    public class C1 {
    
        public C1(){
            System.out.println("无参构造被调用了");
        }
    
        public C1(int age){
            this();
            System.out.println("有参构造被调用了");
        }
    }
    public class C2 {
        public static void main(String[] args) {
            C1 c1 = new C1(4);
        }
    }

    his调用类的构造方法时注意**

    - **this调用构造方法只能是第一行,且只能出现一次**
    - **不能在一个类中的两个构造方法中相互调用**

    2021-03-12 16:36:15

posted @ 2021-03-12 16:36  域明夜  阅读(142)  评论(0)    收藏  举报