美文网首页
《Oracle Java SE编程指南》13-03:this关键

《Oracle Java SE编程指南》13-03:this关键

作者: AT阿宝哥 | 来源:发表于2020-04-24 17:09 被阅读0次
课程封面-JavaSE-AT阿宝哥

内容导航

  • 前言
  • 1、this关键字
  • 2、this关键字用途
    • 2.1、this关键字代表类自身
    • 2.2、代表自身类的当前对象

前言

this关键字其实与继承没有关系,之所以放在这里学习,是因为this和super很容易让初学者感到迷茫。

1、this关键字

this和super的都有两大作用,即调用属性和方法,调用构造方法。区别是,this调用的都是本类的,super调用的都是父类的。

2、this关键字用途

this关键字既可以代表类自身,也可以代表自身类的当前对象。

2.1、this关键字代表类自身

使用this关键字在自身构造方法内部引用其它构造方法。

在一个类的构造方法内部,也可以使用this关键字引用其它的构造方法,这样可以降低代码的重复,也可以使所有的构造方法保持统一,这样方便以后的代码修改和维护,也方便代码的阅读。

例:

public class Demo {

    private int a;

    private int b;

    public Demo() {

        // this引用构造方法
        this(1, 2);

    }

    public Demo(int a, int b) {
        super();
        this.a = a;
        this.b = b;
    }

    public int getA() {
        return a;
    }

    public void setA(int a) {
        this.a = a;
    }

    public int getB() {
        return b;
    }

    public void setB(int b) {
        this.b = b;
    }

}

2.2、代表自身类的当前对象

this关键字可以代表自身类的对象。

  • 直接使用this
  • 使用this关键字引用成员变量
  • 使用this关键字引用成员方法

注意:this关键字必须放在非静态方法里面

this代表自身对象

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

public class Demo {

    private Demo instance;

    public Demo() {

        instance = this;

    }

}

this引用成员变量

在一个类的方法或构造方法内部,可以使用“this.成员变量名”这样的格式来引用成员变量名,常常用来区分同名的成员变量和局部变量。

public class Demo {

    private int a;

    private int b;

    public Demo() {

    }

    public int getA() {
        return a;
    }

    public void setA(int a) {
        // this引用成员变量
        this.a = a;
    }

    public int getB() {
        return b;
    }

    public void setB(int b) {
        // this引用成员变量
        this.b = b;
    }

}

this引用成员方法

在一个类的内部,成员方法之间的互相调用时也可以使用“this.方法名(参数)”来进行引用。

public class Demo {

    public Demo() {

    }

    public void method1() {

        //this引用成员方法
        this.method2();

    }

    public void method2() {

    }

}

持续更新,欢迎留言提议!
码字很累,多点赞多赞赏!


扫描二维码,关注AT阿宝哥

相关文章

网友评论

      本文标题:《Oracle Java SE编程指南》13-03:this关键

      本文链接:https://www.haomeiwen.com/subject/ebafwhtx.html