我希望我能就这个问题得到一些澄清。所以类层次结构看起来像这样:AbstractClass、ConcreteClass1 和 ConcreteClass2。ConcreteClass1 扩展 AbstractClass 和 ConcreteClass2 扩展 ConcreteClass1:
ConcreteClass1 中的构造函数如下所示:
private final AbstractClass parent;
public ConcreteClass1( int id, AbstractClass aParent )
{
super( id );
parent = aParent;
}
我想知道这在什么情况下可能有用。除非为 aParent 参数传递 null,否则我看不到如何实例化 ConcreteClass1。ConcreteClass2 中使用了类似的构造函数(即它也有一个 AbstractClass 类型的参数)。
这可能是一个合理的设计吗?