Java 当使用抽象类作为父类时,组合上的继承是不可预测的吗?

Java 当使用抽象类作为父类时,组合上的继承是不可预测的吗?,java,inheritance,design-patterns,abstract,composite,Java,Inheritance,Design Patterns,Abstract,Composite,我的意思是,在任何地方都不会单独使用父类,这一事实是否弥补了该模式批评者的潜在缺陷?那么,具体的批评是什么?它们在抽象基类的情况下仍然有效吗?首先,在Java中,一个类只能有一个基类,而它可以委托给多个其他类。另外,如果父类没有在任何地方被引用,那么它只存在于代码共享中,并且有更好的(更少混乱、更容易测试、更可扩展等)方法来共享代码。我看到的(很少)几个好的反例在集合框架中。如果您使用的是Java 8+,那么您可以使用接口和默认方法。这会改变你的问题吗?你担心哪些潜在的缺陷?可能的重复我认为这个

我的意思是,在任何地方都不会单独使用父类,这一事实是否弥补了该模式批评者的潜在缺陷?

那么,具体的批评是什么?它们在抽象基类的情况下仍然有效吗?首先,在Java中,一个类只能有一个基类,而它可以委托给多个其他类。另外,如果父类没有在任何地方被引用,那么它只存在于代码共享中,并且有更好的(更少混乱、更容易测试、更可扩展等)方法来共享代码。我看到的(很少)几个好的反例在集合框架中。如果您使用的是Java 8+,那么您可以使用
接口
默认方法。这会改变你的问题吗?你担心哪些潜在的缺陷?可能的重复我认为这个问题很好地集中在关于这个主题的具体考虑上,所以我认为它与你所指的更一般的问题并不完全匹配