[英]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.