为什么我们不能将Cloneable作为absract类而不是将其作为接口?
答案 0 :(得分:3)
Java不支持多重继承类。
如果Cloneable
abstract class
强制整个对象树为可克隆或无。如果父类不是,那么你就无法克隆孩子。
简而言之,除非您需要在Java 9之前添加实例字段(或非公共方法),否则无法通过将简单接口设置为抽象类来获得任何东西
答案 1 :(得分:2)
如果你这样做,那么从Cloneable继承的任何东西都不能继承任何其他类。
此外,这样做的意义非常小。当你想在继承者之间共享数据,代码等时,通常会使用抽象类,而且我不确定拥有该方法的默认实现会特别有价值。