我有一个场景,其中有几个子类有类似的实现和一些额外的方法,实现与每个子类不同.我假设抽象类对于这种情况是一个不错的选择.但是如果抽象类实现包含所有方法声明的接口会更好.或者我应该坚持使用抽象类.
简而言之,我想知道我应该在层次结构顶部而不是接口上更喜欢抽象类的场景.
在接口与抽象类的问题和接受的答案的刺激下,我希望得到一个更详细和澄清的答案.特别是我无法理解语句"接口中的字段是隐式静态和最终的".这是否意味着实现包含方法foo()的接口的类A可以调用该方法A.foo()?
关于final的内容:只要接口只包含方法,给定一个实现带方法接口的抽象类A foo()和class B扩展它的普通接口abstract class A,不能class B覆盖foo方法吗?就我而言,最终的方法是不可能被覆盖的.最后真的是什么?