扩展现有JDK接口的默认方法

Che*_*tah 2 java java-8

我是否能够使用默认方法来扩展现有的JDK接口,比如List为实现它的任何东西添加额外的方法?

如果是这样,是否有一个简单的例子?

PNS*_*PNS 6

与任何其他编译代码一样,JDK代码无法修改.因此,任何现有类型(List或其他)都不能通过添加方法或任何其他机制来改变其行为.

唯一的选择是只扩展您想要修改的类(如果它们未被声明为final- 例如,String无法扩展)并更改其中的功能.显然,任何扩展类也都具有其所有父类的类型,例如,一个ExtendedList类也是一个List,假设它的声明类似于

public class ExtendedList<E> extends List<E>
{
    ...
}
Run Code Online (Sandbox Code Playgroud)

您所问的可能是扩展方法的功能,正如上面的评论中已经提到的,这是一个不太受支持的相当酷的功能Java.其他语言,例如C#,提供这样的支持.