super关键字

墨蓝 2023-09-24 14:28 127阅读 0赞

Super关键字的使用

  1. Super关键字
    1.1 super可以理解为父类的关键字,super可以用来调用属性、方法、构造器
  2. Super关键字的使用
    2.1 我们可以在子类的方法或构造器中,通过使用“super.属性”或“super.方法”的方式,显示调用父类中声明的属性和方法,但通常情况下,我们习惯省略super

代码如下:

  1. class Test{
  2. public Test(){
  3. super();
  4. System.out.println("父类的构造方法被执行!");
  5. }
  6. }
  7. public class Test02 extends Test{
  8. public Test02(){
  9. super();
  10. System.out.println("子类的构造方法被执行!");
  11. }
  12. public static void main(String[] args){
  13. Test02 test02 = new Test02();
  14. }
  15. }

2.2 特殊情况:
(1) 当父类与子类定义了同名属性时,我们想调用父类生命的属性时,则必须显示使用“super.属性”的方式,表明调用的是父类中声明的属性
(2)当子类重写了父类的方法以后,我们想在子类的方法中调用父类被重写的方法时必须使用“super.方法”的方式表明调用的是父类中被重写的方法
如下列代码是父类中定义的withdraw方法

关于super关键字我们需要掌握的内容是:

  1. super是一个关键字,并不是一个引用,也不指向任何对象;
  2. super只代表当前对象内部的那一块父类型特征;
  3. super关键字可以出现在实例方法和构造方法当中;
  4. super的语法有:super.super()
  5. super.在大部分情况下是可以省略的,如果父类和子类当中有同名属性,想在子类当中访问父类的属性,这种情况下不能省略;
  6. super()只能出现在构造方法非注释语句的第一行;
  7. super()通过当前的构造方法去调用父类中的构造方法,目的是在创建子类对象的时候,先初始化父类型特征。

super()表示通过子类的构造方法调用父类的构造方法,我们可以模拟一种现实世界的场景来理解它,也即要想有儿子,必须要先有父亲。当一个构造方法的第一行既没有this();又没有super();的话,默认有一个super();表示通过当前子类的构造方法调用父类的无参构造方法,所以说必须保证父类的无参数构造方法是存在的。 Tips:this()和super()不能共存,它们都是只能出现在构造方法第一行,无论怎样折腾,父类的无参构造方法是一定会执行的。 由此我们可以总结出一般性的结论:在Java语言当中,不管是new什么对象,最后Object类中的无参构造方法是一定会执行的。

Java是怎么来区分子类和父类的同名属性???
this.name表示当前对象的name属性;
super.name表示当前对象的父类型特征中的name属性。

发表评论

表情:
评论列表 (有 0 条评论,127人围观)

还没有评论,来说两句吧...

相关阅读

    相关 13、super关键字

    1、基本介绍:super代表父类的引用,用于访问父类的属性、方法、构造器 2、基本语法: (1)访问父类的属性,但不能访问父类的private属性 super.属

    相关 super关键字

    super `super`关键字的用法和this关键字的使用方法相似 1.`this`:代表本类对象的引用 2.`super`:代表父类存储空间的标识(可以理解为

    相关 super关键字

    Super关键字的使用 1. Super关键字 1.1 super可以理解为父类的关键字,super可以用来调用属性、方法、构造器 2. Super关键字的使用

    相关 super关键字

    (1)子类继承父类所有的成员变量和成员方法,但不继承父类的构造方法。在子类的构造方法中可使用语句 super(参数列表) 调用父类的构造方法。 建立Person类

    相关 super关键字

    super关键字的使用 1.super理解为:父类的 2.super可以用来调用:属性、方法、构造器 3.super的使用:调用属性和方法 3.1 我们可以在子类的

    相关 java关键字super

    1、概要 (1)super关键字与this类似,thi 用来表示当前类的实例,super用来表示父类。 (2)super可以用在子类中,通过点号(.)来获取父类的成员变

    相关 Java super关键字

    super 关键字与[this][] 类似,this 用来表示当前类的实例,super 用来表示父类。 super 可以用在子类中,通过点号(.)来获取父类的成员变量

    相关 JAVA super关键字和final关键字

    1、用super关键字操作被隐藏的成员变量和方法: 子类一旦隐藏了继承的成员变量,那么子类创建的对象就不再拥有该变量,该变量将归关键字super所有,同样,子类一旦隐藏了...