這可能很明顯,請耐心等待。在java.io.File中找不到構造函數File()
是的,我知道java.io.File沒有默認構造函數。
問題是,當我嘗試擴展java.io.File時,它說「無法在java.io.File中找到構造函數File()」,即使我正在重寫java.lang.Object中的默認構造函數。
這裏是我的代碼:
AbsRelFile.java
import java.io.File;
public class AbsRelFile extends File {
File f;
private AbsRelFile(){
}
}
這給我一個錯誤,即使我重寫構造函數。
注意:此課程尚未完成。不要對我爲什麼不需要這個評論或關於這個類如何無用的評論發表評論。我剛開始寫它之前,我得到了這個錯誤。
嘗試在AbsRelFile構造函數中顯式調用File構造函數,就像在創建AbsRelFile對象時一樣,它將查找匹配的super()構造函數,並且File中沒有這樣的構造函數是) – Ross 2010-08-06 00:37:15
重寫一個超類的構造函數是不可能的。無論超類所具有的構造函數都將停留在那裏,而與您的子類定義的構造函數無關。因此,你不能向超類添加一個新的構造函數(比如默認構造函數)。 – Lajnold 2010-08-06 00:42:26
我會考慮這個班級的名字。擊鍵很便宜。就我個人而言,我與「AbsRelFile」有一些心理上的不和諧。 「絕對相對文件」?如果我是這個班級的客戶,我不知道這個名字是什麼。名稱很重要 - 再試一次。 – duffymo 2010-08-06 00:47:17