Java面向对象中(super关键字)的详解

Posted 路宇_

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java面向对象中(super关键字)的详解相关的知识,希望对你有一定的参考价值。

super 关键字的使用:

  1. super理解为:父类的
  2. super可以用来调用:属性,方法,构造器。

3 、super的使用:

  • 3.1.我们可以在子类的方法或者构造器中,使用“super.属性” ,“super.方法”的方式,来显式的调用父类中的属性或者方法。但是通常情况下,我们习惯省略“super”。
  • 3.2.特殊情况:当子类和父类定义了同名的属性时,如果我们想调用父类中的属性,就需要用“super.属性”的方式,去调用父类中的属性。
  • 3.3.特殊情况:当子类重写了父类中的方法以后,我们想要在子类中调用父类中被重写的方法时,则必须使用“super.方法”的方式,来调用父类中被重写的方法。

4.super调用构造器:

  • 4.1.我们可以在子类的构造器中显示的使用“super(形参列表)”,调用父类中指定的构造器。
  • 4.2.“super.(形参列表)”的使用,必须声明在构造器的首行。
    4.3.我们在类的构造器中,针对于“this(形参列表)”,和“super(形参列表)”只能二选一,不能同时出现。
  • 4.4.在构造器的首行,没有显式的声明this(形参列表),“super(形参列表)”,则默认调用的是父类中空参的构造器:super()。
package demo9;

public class Person {
    String name;
    int age;

    public Person(){
        System.out.println("我无处不在!");
    }
}

package demo9;

public class Student extends Person {
    public static void main(String[] args) {
       Student s1=new Student();
    }

    public Student(){
        super();
    }
}

这个时候输出:我无处不在! 说明默认调用了父类中的构造器

  • 4.5.在类的多个构造器中,至少有一个类的构造器使用了“super(形参列表)”,调用父类中的构造器。

以上是关于Java面向对象中(super关键字)的详解的主要内容,如果未能解决你的问题,请参考以下文章

Java面向对象_继承思想——super关键字

初学者——面向对象的理解03

Java面向对象(OOP)--面向对象三大特性之一: 继承(继承Object类Super关键字方法重写)

请教关于java super 关键字问题

java学习中,面向对象的三大特性:封装继承多态 以及 super关键字和方法的重写(java 学习中的小记录)

18.面向对象-----super关键字