3

代码是什么

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;
}

它与超类有关吗?

4

4 回答 4

3

它调用父类的构造函数

于 2013-05-01T16:00:07.147 回答
3

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

oracle上的这个链接应该有帮助

于 2013-05-01T16:05:40.487 回答
1

该调用super();显式调用超类构造函数,这里是AbstractShape. 如果构造函数中不存在此调用,则 Javasuper();会为您插入一个隐式调用。

引用JLS,第 8.8.7 节

如果构造函数体不是以显式构造函数调用开始,并且被声明的构造函数不是原始类 Object 的一部分,则构造函数体隐式以超类构造函数调用“super();”开始,调用它的直接超类不带参数。

于 2013-05-01T16:00:14.040 回答
1

它调用超类的构造函数。请参阅以下问题:

于 2013-05-01T16:02:26.063 回答