Java 8中的默认方法与抽象类的接口

问题:

由于Java 8允许在接口Default Methods中默认实现方法,所以我在何时使用abstract class
所以应该使用与默认方法的接口,何时应该使用抽象类?在这种情况下抽象类是否仍然有用?

回答:

除了默认方法实现(如私有状态)之外,抽象类还有更多的东西,但是从Java 8开始,只要您有选择,应该在界面中使用defender(aka。default)方法。
对默认方法的约束是只能在调用其他接口方法的条件下实现,而不涉及特定实现的状态。所以主要用例是更高级别和方便的方法。
关于这个新功能的好处是,在之前你被迫使用抽象类的方便方法,从而限制了实现者的单继承,现在你可以有一个非常干净的设计,只需要接口和最少的实现强制程序员的努力。

 
 
Code问答: http://codewenda.com/topics/python/
Stackoverflow: Interface with default methods vs Abstract class in Java 8

*转载请注明本文链接以及stackoverflow的英文链接

发表评论

电子邮件地址不会被公开。 必填项已用*标注

+ 53 = 57