我是新來的,所以我的一些格式可能很奇怪。Java - 超級通話問題
我在調用超級構造函數時遇到了一些麻煩。每當我編譯我的亞軍班,我收到一些錯誤:
.class expected" or "; expected
這是怎麼回事?
(代碼)
(編譯器輸出)
我是新來的,所以我的一些格式可能很奇怪。Java - 超級通話問題
我在調用超級構造函數時遇到了一些麻煩。每當我編譯我的亞軍班,我收到一些錯誤:
.class expected" or "; expected
這是怎麼回事?
(代碼)
(編譯器輸出)
你需要打電話給你的超級構造是這樣的:
super(y,m,d);
當然,這其中,求這三個值從何而來的問題。也許你想三個參數添加到您自己的構造函數:
public DateDriver(int y, int m, int d){
super(y,m,d);
}
但是:爲什麼你要在第一時間延長Date
?
因此,我正在處理的項目要求創建一個驅動程序類以擴展到名爲Date的文件。這就是我所有的方法和東西。在Date類中,我分配了三個變量:int year,int month和int day。 – codeindreams
所以你有一些'日期。java'建立在?然後你需要小心地保持它不同於'java.util.Date'(我認爲這是在你導入它時使用的)。 – Thilo
但請仔細檢查。通常一個「驅動程序」會創建並執行一個類的實例,但不會對其進行子類化。 – Thilo
不能申報super()
調用的參數部分內部變量;
也許你需要的是:
public DateDriver(int y, int m, int d) {
super(y, m, d);
}
然後,當你構建你的main()
方法DateDriver對象,你在值傳遞爲y
,m
和d
。
super(int x, int x, int d);
沒有意義。看起來你正在試圖在你傳遞它們的時候聲明它們?如果存在日期構造函數有三個參數int
,那麼你必須重載一個......不是無參數的構造函數:
public DateDriver(int y, int m, int d) {
super(y, m, d);
}
正確的語法是
DateDriver()
{
super(x, y, z);
/* other code */
}
始終保持第一線用於構造函數調用。如果你想使構造函數鏈接,或者你想調用父類的構造函數。
例如:
//for constructor chaining
DateDriver()
{
this(x, y, z);
}
// for super call
DateDriver()
{
this(x, y, z);
}
你能發佈您的代碼? – Michael
它說我需要10個聲望才能發佈圖片... – codeindreams
不是您的代碼 –