跳过父构造函数以调用祖父的
问题是这样的:我有一个抽象类,它在其构造函数中做了一些工作,还有一组实现抽象类的子类:
class AbstractClass {
AbstractClass(){ /* useful implementation */ }
}
class ConcreteClass1 extends AbstractClass {
ConcreteClass1(){ super(); /* useful implementation */ }
}
然后,需要自定义具体类,一个解决方案是扩展具体类:
class CustomizedClass1 extends ConcreteClass1 {
CustomizedCLass1(){ super(); /* useful implementation */ }
}
但问题是自定义类只需要调用抽象类的构造函数,而不需要调用具体类的构造函数。
您如何实现这一目标?更改类关系的建议是有效的。
编辑:具体的例子是 ConcreteClass1 和 CustomClass1 具有不同的数据集(ConcreteData1 和 CustomData1),它是从类的构造函数的数据库中检索的。问题在于,创建 CustomClass1 的实例将检索这两个数据实体。
我知道使用简单的继承可能不是最好的办法,这就是为什么我指出改变类关系的建议是有效的。