2016-04-30 81 views
0

我得到下面的錯誤在我的代碼:如何在父類沒有默認構造函數時定義顯式構造函數?

隱超構造GLabel()是未定義默認 構造函數。必須定義一個明確的構造函數

我的父類「GLabel」包含在外部jar中。我可以打開源文件,但我無法對其進行編輯。所以我決定擴展GLabel來創建我想要的功能。

正如你所看到的「GLabel」類沒有一個空的構造函數。我假設這是造成這個問題的原因?我該如何解決?

子類

import acm.graphics.GLabel; 

public class BreakoutLabels extends GLabel{ 

    // no code inside 

} 

父類

public class GLabel extends GObject { 

    public static final Font DEFAULT_FONT = new Font("Default", 0, 12); 

    private String label; 

    private Font labelFont; 

    public GLabel(String str) { 
     this(str, 0.0D, 0.0D); 
    } 

    public GLabel(String str, double x, double y) { 
     label = str; 
     setFont(DEFAULT_FONT); 
     setLocation(x, y); 
    } 
} 
+0

定義一個調用超類構造函數的構造函數。 –

回答

2

如果GLabel有一個默認的(空參數)構造函數,那麼你的構造函數的派生類可以爲調用其中一個聲明的構造函數。但GLabel定義意味着默認構造函數沒有意義,並且您必須提供合適的參數。

相關問題