继承基本上,我有: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