• This与Super区别


    this和super都代表什么

       this:代表当前对象的引用,谁来调用我,我就代表谁

       super:代表当前对象父类的引用

     

    属性的区别:

    this访问本类中的属性,如果本类没有此属性则从父类中继续查找。

    super访问父类中的属性。

    方法的区别:

    this访问本类中的方法,如果本类没有此方法则从父类中继续查找。

    super访问父类中的方法。

    构造的区别:

    this调用本类构造,必须放在构造方法的首行。this只能在类中调用。

    super调用父类构造,必须放在子类构造方法首行。

    其他区别:

            this表示当前对象。super不能表示当前对象,表示父类对象

    1、this. 变量和super.变量调用的区别

      this.成员变量和成员方法 调用的当前对象的变量与方法;

     super.变量 直接调用的是父类中的变量 。

    2、this(参数)和super(参数)方法

    this(参数) 调用的是当前类中的构造方法;

    super(参数) 用于确认要使用父类中的哪一个构造方法。

    注意点:

    1)在对拥有父类的子类进行初始化时,父类的构造方法也会执行,且优先于子类的构造函数执行;

           因为每一个子类的构造函数中的第一行都有一条默认的隐式语句super();

    2)this() 和super()都只能写在构造函数的第一行

    3)this() 和super() 不能存在于同一个构造方法中。第一只有一个,this()和super()都必须写在构造方法的第一行;

       但是This  与super 不能同时存在第一行;

    4)this()语句调用的是当前类的另一个构造函数而这个另一个构造函数中必然有一个父类的构造器,再使用super()又调用一次父类的构造器, 就相当于调用了两次父类的构造器,编译器不会通过;

    A,B两个方法,A方法中写this(B),B方法中写super().就好了。

    4)this和super不能用于static修饰的变量,方法,代码块;因为this和super都是指的是对象(实例)。

  • 相关阅读:
    【C语言】判断学生成绩等级
    如何强制卸载软件,强制卸载的工具。
    网站添加左下角某易云音乐播放器代码
    ASCII码表
    C语言当中int,float,double,char这四个有什么区别?
    未来HTML5的发展前景如何?黑客专家是这样回答的
    2018年需要关注5个与黑客安全相关趋势
    2025年的技术:为第四次工业革命做准备
    量子计算可以给企业竞争带来的七种优势
    目前投资区块链三大风险
  • 原文地址:https://www.cnblogs.com/layuechuquwan/p/11303457.html
Copyright © 2020-2023  润新知