This question already has answers here:
When do I use super()?
(11个答案)
4年前关闭。
所以基本上所有内容都在标题中。我想知道为什么我需要在超类中使用super()。
谢谢。
(11个答案)
4年前关闭。
package Geometry;
public abstract class GeometryFigures{
protected double surfaces;
protected double perimeter;
public GeometryFigures(double surfaces, double perimeter) {
super(); //**<---Why use super call here?**
this.surfaces= surfaces;
this.perimeter= perimeter;
}
public double getSurfaces() {
return surfaces;
}
public double getPerimetre() {
return perimeter;
}
}
所以基本上所有内容都在标题中。我想知道为什么我需要在超类中使用super()。
谢谢。
最佳答案
如果构造函数没有显式调用超类构造函数,则Java编译器会自动将调用插入到超类的无参数构造函数中。如果超类没有无参数构造函数,则将出现编译时错误。对象确实具有这样的构造函数,因此如果对象是唯一的超类,就没有问题。
according to docs.oracle
10-06 05:02