OOP初學者在這裏...我有一個名爲Rectangle的超類,它有一個接受int高度和int寬度作爲參數的構造函數。我的任務是創建一個改進的Rectangle子類,其中還包含一個不需要參數的構造函數。需要無參數的構造函數爲子類,但超類沒有它
那麼,我該怎麼做,而不會弄亂超類?
public class BetterRectangle extends Rectangle
{
public BetterRectangle(int height, int width)
{
super(height,width);
}
public BetterRectangle()
{
width = 50;
height = 50;
}
}
這給了我「隱式超級構造函數是未定義」。顯然我需要調用超類的構造函數。但是用什麼?只是隨機值,後來被覆蓋?
另一個問題是您沒有寬度,高度的實例變量,因此分配也失敗。 – kosa
@Nambari它們可以在'Rectangle'中定義爲非'private'成員。 – GriffeyDog
@GriffeyDog:如果是這樣的話,我認爲使用構造函數重新設置值是多餘的權利? – kosa