什么是超()在构造函数是什么意思? [重复](What does super() mean in

2019-09-01 15:16发布

这个问题已经在这里有一个答案:

  • 超()在Java中 15个回答
  • 什么时候使用超()? 11个回答

什么码

super();

做一个构造函数里面?

例如,这里是我的类的构造函数

public abstract class Rectangle extends AbstractShape
{

private double height, width;

// Constructors...  
public Rectangle()
{
    super(); //this is how i inherit that point!
    height = -1;
    width = -1;
}

它有事情做与超类?

Answer 1:

它调用父类的构造函数



Answer 2:

它转到父类并调用构造函数。

这在甲骨文链接了应该帮助



Answer 3:

调用super(); 明确地调用父类的构造函数,这里的参数的构造函数用于AbstractShape 。 如果该呼叫不存在于一个构造,那么Java插入一个隐式super(); 为了你。

引述JLS,节8.8.7 :

如果构造体不明确的构造函数调用,并正在申报的构造开始不是原始类对象的一部分,然后在构造函数体隐式超类构造函数调用开始“超级();”的构造函数的调用其直接超不带参数。



Answer 4:

它调用父类的构造函数。 请参见下面的问题:

  • 用java做,当你需要显式调用父类的构造函数
  • 当我在Java中使用super()方法?


文章来源: What does super() mean in a constructor? [duplicate]