码迷,mamicode.com
首页 > 其他好文 > 详细

this 和super的区别

时间:2020-11-30 15:37:37      阅读:7      评论:0      收藏:0      [点我收藏+]

标签:存储空间   空间   理解   继承体系   现在   初始化   成员方法   重载   方法   

super 和this

//父类空间优先于子类对象产生

    //在每次创建子类对象的时候,先初始化父类空间,在创建子类对象。目的在于子类对象中包含了对其应的父类空间,便可以包含父类的成员,如果父类成员非私有,则子类可以随意使用父类成员,代码体现在子类的构造方法时,会先调用父类的。

super和this的含义

     super:代表父类的存储空间标识(可以理解为父类的引用)
     this:代表当前对象的引用(谁调用就是谁)

super和this的用法

  • super

    1.访问父类的成员

    super.成员变量
    super.成员方法

    2.访问父类的构造方法

    super(...)    父类的构造方法

    3.继承关系中,父类的构造方法的访问特点

    // 子类构造方法当中有一个默认的隐式的super()调用,所以一定是先调用父类的构造,后执行的子类构造。
    // 子类构造可以通过super关键字来调用父类的重载构造
    // super的父类构造调用,必须是子类构造方法中的第一个语句。不能一个子类构造调用多次super构造。

    总结:

    ? 子类必须调用父类的构造方法,不写则赠送super();写了则用写的指定的super调用,super只能有一个,还必须是第一个。

  • this

    1.访问当前类的成员变量

    this.成员变量;
    this.成员方法;

    2.访问当前类的构造方法

    this(...);当前类的构造方法

    注意

    访问带当前类的成员,前面默认有this。
    this()构造方法
    this(...)调用时也必须是构造方法的第一个语句,唯一一个。
    super(。。)和this(。。)两种构造方法调用时,不能同时使用
  • 继承的特点

    1.java语言只支持单继承,不支持多继承。
    2.Java语言只支持多级继承(继承体系)。
    3.定成父类是Object类,所有类都默认继承Object类。
    4.子类和父类是一种相对概念。

this 和super的区别

标签:存储空间   空间   理解   继承体系   现在   初始化   成员方法   重载   方法   

原文地址:https://blog.51cto.com/14954368/2554099

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!