您当前的位置:首页 > 计算机 > 编程开发 > Java

Java方法的默认实现和静态方法

时间:10-16来源:作者:点击数:

JDK1.8 通过使用关键字default可以给接口中的方法添加默认实现,此外,接口中还可以定义静态方法,示例代码如下所示:

interface Inter8 {

    void f();
    default void g() {
        System.out.println("this is default method in interface");
    }

    static void h() {
        System.out.println("this is static method in interface");
    }
}

那么,为什么要引入接口中方法的默认实现呢?

其实,这样做的最重要的一个目的就是为了实现接口升级。在原有的设计中,如果想要升级接口,例如给接口中添加一个新的方法,那么会导致所有实现这个接口的类都需要被修改,这给 Java 语言已有的一些框架进行升级带来了很大的麻烦。如果接口能支持默认方法的实现,那么可以给这些类库的升级带来许多便利。

例如,为了支持 Lambda 表达式,Collection 中引入了 foreach方法,可以通过这个语法增加默认的实现,从而降低了对这个接口进行升级的代价,不需要所有实现这个接口的类进行修改。

方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门