Java 8 默认方法和静态方法能同时使用吗?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1435个文字,预计阅读时间需要6分钟。
前言:在Java 8之前,默认情况下,接口中的所有方法都是公共的和抽象的。但这一限制在Java 8中被打破了。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来对对象进行排序。
本文共计1435个文字,预计阅读时间需要6分钟。
前言:在Java 8之前,默认情况下,接口中的所有方法都是公共的和抽象的。但这一限制在Java 8中被打破了。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来对对象进行排序。

