• 复习的开始


      又算是一段时间学习的结束,回首不懂的,模糊的还有,却也发现,不懂的却变懂,这两天要复习了,我一定要认真,我觉得是基础学习最后的战斗和机会了,我今天就从前开始看了一下书,加上网上的资料和总结,主要说说这个简单有麻烦的this和super. 

    this:代表对象。就是所在函数所属对象的引用。 
    this到底代表什么呢?哪个对象调用了this所在的函数,this就代表哪个对象,就是哪个对象的引用。 开发时,什么时候使用this呢? 
    在定义功能时,如果该功能内部使用到了调用该功能的对象,这时就用this来表示这个对象。  
    this 还可以用于构造函数间的调用。 调用格式:this(实际参数); 
    this对象后面跟上 .  调用的是成员属性和成员方法(一般方法); this对象后面跟上 () 调用的是本类中的对应参数的构造函数。  
    注意:用this调用构造函数,必须定义在构造函数的第一行。因为构造函数是用于初始化的,所以初始化动作一定要执行。否则编译失败。

    如果想要调用父类中的属性值,需要使用一个关键字:super 

    This:代表是本类类型的对象引用。 
    Super:代表是子类所属的父类中的内存空间引用。 
    注意:子父类中通常是不会出现同名成员变量的,因为父类中只要定义了,子类就不用在定义了,直接继承过来用就可以了。

    发现子类构造函数运行时,先运行了父类的构造函数。为什么呢? 
    原因:子类的所有构造函数中的第一行,其实都有一条隐身的语句super(); 
    super(): 表示父类的构造函数,并会调用于参数相对应的父类中的构造函数。而super():是在调用父类中空参数的构造函数。 
    为什么子类对象初始化时,都需要调用父类中的函数?(为什么要在子类构造函数的第一行加入这个super()?) 
    因为子类继承父类,会继承到父类中的数据,所以必须要看父类是如何对自己的数据进行初始化的。所以子类在进行对象初始化时,先调用父类的构造函数,这就是子类的实例化过程。 
     
    注意:子类中所有的构造函数都会默认访问父类中的空参数的构造函数,因为每一个子类构造内第一行都有默认的语句super();  
    如果父类中没有空参数的构造函数,那么子类的构造函数内,必须通过super语句指定要访问的父类中的构造函数。 
    如果子类构造函数中用this来指定调用子类自己的构造函数,那么被调用的构造函数也一样会访问父类中的构造函数。

  • 相关阅读:
    富文本的一般处理方式,document.getElementById('富文本的ID').contentWindow.document.body.innerHTML = '%s'" %(content)
    本地搭建Jenkins
    if __name__ == '__main__'是什么意思?如何理解?看到一个很有用的解答
    关于执行webdriver.Chrome; 报错WebDriverException: Message: unknown error: Element is not clickable at point (1085, 103)
    【转载】学习总结——接口测试基础
    fiddler使用——配置抓取https,出现提示“禁用解密”“单击配置”
    算法(二叉树-矩阵-堆排序)
    算法(递归)---写的很乱
    ES6高级技巧(二)
    ES6高级使用技巧(reduce,filter篇)
  • 原文地址:https://www.cnblogs.com/syl1104/p/3724069.html
Copyright © 2020-2023  润新知