• java易忘的super和this用法


    this的用法

    • this表示一个对象的引用,它指向正在执行方法的对象。

    • 构造方法中,通过this关键字调用其他构造方法时,必须放在第一行,否则编译器会报错。

    • 构造方法中,只能通过this调用一次其他构造方法。

    super用法

    • super是指向父类的引用,如果子类构造方法没有显式调用父类的构造方法,那么编译器会隐式调用super()方法;

    • 如果父类由没有默认的无参构造方法,编译器就会报错,super()语句必须是构造方法的第一个子句。

    • 子类创建对象时,会先进入自己的构造函数调用父类的构造函数,然后再接着执行自己的构造函数;

    • 如果父类构造函数足够多的话,会一直调用到最终的父类构造函数,函数调用时会使用栈空间,所以按照入栈的顺序,最先进入的是子类的构造函数,然后才是邻近的父类构造函数,最后在栈顶的是最终的父类构造函数,构造函数执行是则按照从栈顶到栈底的顺序依次执行.

    this和super的区别

    本质上讲,this是一个指向当前对象的指针, super是一个Java关键字。

    1. super()和this()都需要放在构造方法的第一行

    2. this()和super()都指的是对象,不可以在static环境中使用。包括:static变量,static方法,static语句块

    3. super()从子类中调用父类的构造方法,this()在同一类中调用其它方法

    4. this和super不能同时出现在一个构造函数里面,因为this必然会调用其它的构造函数,其它的构造函数必然也会有super语句的存在,编译器也不会通过

  • 相关阅读:
    Python M3 面向对象
    Python 基础
    Python 基础
    Python 基础
    Python 作业
    Python 基础
    Python 基础
    【机器学习】周志华 读书笔记 第三章 线性模型
    【机器学习】周志华 读书笔记 第二章 模型评估与选择
    【机器学习】周志华 读书笔记 第一章 绪论
  • 原文地址:https://www.cnblogs.com/qqkkOvO/p/13975272.html
Copyright © 2020-2023  润新知