super()指的是父类的构造函数,即本身这个类直接继承的那个类,

代码中的

super();

一般出现在构造函数中,而且是必须出现在第一行。这里是显式调用父类的构造函数,其实,即使不写这一行,一般都会自动调用父类的构造函数。

超类泛指父类以上的类,包括父类。

如:Man类继承自Person类,Person类继承自Animal类,Animal类继承自Object类,则Person,Animal,Object类统称为Man类的超类。

而super和this一样,相当于一个对象,这个对象就是本对象中包含的那个父类的对象。

如Person类有个函数。

public void fun(){System.out.println("I'm person");}

Man类继承自Person类,且重写(覆盖)了该函数:

public void fun(){System.out.println("I'm not woman");}

则man.fun();输出的是I'm not woman,即调用覆盖后的函数

而如果在函数前加上super.的话,即

super.fun();则输出的是I'm person,即以本对象中包含的那个父类对象的名义调用原始的fun()方法。

即他执行的效果和父类原来函数的效果一样。

相关文章:

  • 2021-08-02
  • 2021-06-12
  • 2021-10-17
  • 2021-12-04
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-12-03
  • 2022-12-23
相关资源
相似解决方案