Java8中 Default关键字的用法 接口实现方法体

Default关键字介绍

Default方法是在java8中引入的关键字。也可称为Virtual extension methods——虚拟扩展方法。使得在接口中可以包含方法体,这打破了Java之前版本对接口的语法限制,从而使得接口在进行扩展的时候,不会破坏与接口相关的实现类代码。

Default好处

原先接口的缺陷是,修改接口后,则需要修改全部实现该接口的类,所以引进的默认方法。他们的目的是为了解决接口的修改与现有的实现不兼容的问题。

使用default关键字

  1. 接口中定义方法
public interface DefaultDemo01 {
    /**
     * 利用default在接口中添加方法体
     */
    default void defaultHello(){
        System.out.println("利用default关键字,可以在接口中定义方法体");
    }
}

在实现类中调用default方法

public class DefaultDemoClass implements DefaultDemo01 {
    public static void main(String[] args) {
        DefaultDemoClass defaultDemoClass = new DefaultDemoClass();
        defaultDemoClass.defaultHello();
    }
}

实现结果;
在这里插入图片描述
在这里插入图片描述
如果这个时候 如果创建两个接口,并且都用default关键字创建了同名的方法,实现类不能同时实现这两个接口
2. 当实现类重写了该方法时,以实现类为准

public class DefaultDemoClass implements DefaultDemo01{

    @Override
    public void defaultHello(){
        System.out.println("当实现类重写了该方法时,以实现类为准");
    }

    public static void main(String[] args) {
        DefaultDemoClass defaultDemoClass = new DefaultDemoClass();
        defaultDemoClass.defaultHello();
    }
}

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值