由于Java9将允许我们在接口中也定义private和private static方法,那么interface和class还有什么区别呢?此外,Java是否正在缓慢地走向多重继承?
发布于 2017-06-02 06:02:02
Java 9中的私有接口方法的行为与其他私有方法完全一样:它们必须有一个主体(即使在抽象类中),不能被子类调用或重写。因此,它们并不真正地与继承进行交互。说到哪一个(特别是多重继承),有(至少?)有三种:
String是Object。Java允许从第一天(通过接口)多次继承类型。如您所见,私有接口方法在这里不添加任何内容。
关于接口和类如何比较的问题,有两个主要区别:多继承和状态。接口支持前者,类可以有后者。由于状态在典型的OOP中是很重要的,所以类仍然是相关的。
如果有一种方法可以让一个接口强制一个实现拥有一个特定的非公开字段,或者直接定义一个字段本身,那么游戏就会改变,并且接口可以与类竞争。
发布于 2017-06-01 04:12:32
私有方法不被子类继承,因此此特性不影响实现类。我相信接口中的私有方法允许我们在默认方法之间共享代码。
Java接口仍然不能有非静态成员。这是一个很大的区别,而不是多重继承,海事组织。
发布于 2017-06-01 04:17:05
Java 9接口仍然不能包含字段和构造函数。这在类和接口之间造成了巨大的差异,因此Java 9远不是多重继承。
https://stackoverflow.com/questions/44298261
复制相似问题