[英]calling a constructor from a derived class
嗨,我一直试图使用我的zeroparameter构造函数来调用具有初始权重值的SunkenObject构造函数,但是由于某些原因,我一直收到此错误
in class
SunkenObject中的constructor
SunkenObject不能be applied to given types
;
required: float
found: no arguments
reason: actual and formal argument lists differ in length
这是我的SunkenObject构造函数:
public abstract class SunkenObject extends CatchableThing
{
protected float weight;
public SunkenObject(float w)
{
weight = w;
}
public float getWeight() { return weight; }
public String toString ()
{
return (getClass().getSimpleName());
}
}
这是SunkenObject扩展的对象(生锈的链)之一
public class RustyChain extends SunkenObject
{
public RustyChain (float w)
{
super(w);
}
public RustyChain()
{
weight = 8.0f;
}
}
谁能告诉我我在做什么错,因为从我的角度来看,代码没有错。 谢谢!
您的意思是这样的:
public RustyChain() {
super(8.0f);
}
weight = 8.0f
不会调用超类构造函数。
具体的类构造函数的第一个默认语句是super();
调用语句。
因此,要使其正常运行,您要么删除
public RustyChain()
{
weight = 8.0f;
}
或像这样在超类中添加无参数构造函数
public SunkenObject()
{}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.