Java8新特性中,默认方法和静态方法有何具体应用场景?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1376个文字,预计阅读时间需要6分钟。
前言:在Java 8之前,默认情况下,接口中的所有方法都是公共的和抽象的。然而,这一限制在Java 8中被打破,Java 8允许开发人员在接口中添加新方法,而无需在实现这些接口的类中进行任何操作。
前言
在Java 8之前,默认情况下,接口中的所有方法都是公共的和抽象的。但是这一限制在Java 8中被打破了,Java 8允许开发人员在接口中添加新方法,而无需在实现这些接口的类中进行任何更改。
为什么会有默认方法?
主要是为了方便扩展已有接口;如果没有默认方法,假如给Java中的某个接口添加一个新的抽象方法,那么所有实现了该接口的类都得修改,影响将非常大。
举个例子,Sortable <T>接口以及实现该接口的类SortableNumberCollection和SortableStringCollection。该接口有两种方法:void sort(); 和T peek()。
public interface Sortable<T> { void sort(); T peek(); }
sort()方法用于对象排序,T peek()用于获取指定元素,另外需要一个比较器类ObjectComparator来对对象进行排序。
本文共计1376个文字,预计阅读时间需要6分钟。
前言:在Java 8之前,默认情况下,接口中的所有方法都是公共的和抽象的。然而,这一限制在Java 8中被打破,Java 8允许开发人员在接口中添加新方法,而无需在实现这些接口的类中进行任何操作。
前言
在Java 8之前,默认情况下,接口中的所有方法都是公共的和抽象的。但是这一限制在Java 8中被打破了,Java 8允许开发人员在接口中添加新方法,而无需在实现这些接口的类中进行任何更改。
为什么会有默认方法?
主要是为了方便扩展已有接口;如果没有默认方法,假如给Java中的某个接口添加一个新的抽象方法,那么所有实现了该接口的类都得修改,影响将非常大。
举个例子,Sortable <T>接口以及实现该接口的类SortableNumberCollection和SortableStringCollection。该接口有两种方法:void sort(); 和T peek()。
public interface Sortable<T> { void sort(); T peek(); }
sort()方法用于对象排序,T peek()用于获取指定元素,另外需要一个比较器类ObjectComparator来对对象进行排序。

