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

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

因为Java 8允许在接口中默认实现默认方法,在我何时使用abstract class.

那么,何时应该使用与默认方法的接口,何时应该使用抽象类?在这种情况下,抽象类仍然有用吗?


qq_遁去的一_1
浏览 1214回答 3
3回答

忽然笑

除了默认的方法实现(比如私有状态)之外,抽象类还有很多,但是从Java 8开始,无论您选择哪种方法,都应该使用Defender(又名Defender)。default)方法在接口中。默认方法的约束是,它只能在调用其他接口方法的条件下实现,而不引用特定实现的状态。因此,主要的用例是较高层次和方便的方法.这个新特性的好处在于,在此之前,为了方便方法,您不得不使用抽象类,从而将实现者限制在单一继承上,现在您可以使用接口进行非常干净的设计,并将最小的实现工作强加于程序员。引进的最初动机defaultJava 8的方法是希望用面向lambda的方法扩展Collection Framework接口,而不破坏任何现有的实现。虽然这与公共库的作者更相关,但您可能会发现同样的特性在您的项目中也很有用。您已经有了一个集中的地方,可以在那里添加新的方便,并且您不需要依赖于类型层次结构的其他部分的外观。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java