如何在Java中实现完全抽象而不使用接口?

问题描述 投票:0回答:3

我知道我们可以在Java中通过接口实现100%抽象,通过抽象类实现部分抽象。

面试时,面试官让我说说除了接口之外还有什么方法可以实现100%抽象。还有其他办法吗?

java interface abstract-class abstraction
3个回答
7
投票

使用没有实现方法的抽象类。这些纯抽象类(如接口)的实现为零。

如果您想了解纯抽象类以及为什么可以使用它们代替接口,您可以阅读纯抽象类和接口


4
投票
可以使用仅具有抽象方法的纯抽象类(没有字段,没有具体方法)。

编辑:请注意,从 Java 8 中添加默认方法开始,接口不再必然 100% 抽象。

在现实世界中,没有字段的抽象类(避免跨层次结构分布的状态)可能比纯抽象类更常见。


1
投票
我猜你已经得到了斯特凡提到的答案。不过,我想补充一点,创建抽象类的目的是为了保护开发人员为不同的类编写相同的方法并提高可重用性。

© www.soinside.com 2019 - 2024. All rights reserved.