繼承基本上,我有:java的子類:多個構造從抽象的超
public abstract class AbstractClass {
public AbstractClass(Type arg0, Type arg1, Type arg2) {
// do some stuff with all those args
}
public AbstractClass(Type onlyOneArg) {
// do different stuffs with this different arg.
}
protected someMethods() { /* ... */ }
}
而且我在子類中的幾個問題:
- 首先,我要-in大部分案例 - 無用地重寫構造函數。不是非常煩人,只是有點骯髒的眼睛。
- 而且,更重要的是,我不是被迫執行這兩個構造函數(雖然都在程序中使用)。我目前的子類的
例子:
public class MyClass extends AbstractClass {
public MyClass(Type arg0, Type arg1, Type arg2) {
super(arg0, arg1, arg2);
}
public MyClass(Type onlyOneArg) {
super(onlyOneArg);
}
}
而且
- 我必須能夠寫一些特定的代碼在子類的構造函數,如果我想要的。
- 我有太多的共享代碼,我想保留在抽象類中。
我可以做些什麼嗎? 有沒有我不瞭解Java的東西?或者我的設計不好?要麼.. ?
不知道問題是什麼。你想被迫實現所有的超類構造函數嗎?你所說的要求是什麼,你似乎無法做到? – 2012-04-02 03:45:32
我很樂意重新提出這個問題,但我不太確定如何..我的意思是我想確保在每個AbstractClass的子類中都有構造函數可用。在程序中,我在不知道確切類型的情況下使用兩個構造函數實例化。我只知道該對象將是一個'AbstractClass'子類。所以我必須確定我總是可以使用這兩個構造函數。這更容易理解嗎?...... Sry,很難用英語表達我的想法! – user978548 2012-04-02 03:54:10
除此之外,我還想知道是否有可能以某種方式讓java自動使用'AbstractClass'構造函數,如果它沒有在子類中定義的話,但那不是我主要關心的。 – user978548 2012-04-02 03:56:54