JDK1.8新特性之接口

JDK1.8引入了接口的静态方法和默认方法,允许接口中存在方法实现,增强了接口的功能。静态方法可通过接口名直接调用,而默认方法由接口的实现对象调用。虽然这一改变提供了多继承的灵活性,但也可能导致二义性问题,当一个类实现两个有相同默认方法的接口时,需要显式重写冲突的方法。
摘要由CSDN通过智能技术生成

JDK1.8之前:接口类只能定义方法名,返回类型和参数列表,不能有方法体。接口提供了规范,就像肯德基一样,装修风格、产品都一样的,至于招几个员工、怎么经营都是加盟店说了算。

JDK1.8中使用两个新概念扩展了接口的含义:默认方法和静态方法,也就是说接口中可以有方法的具体实现。

(1)、静态方法

使用关键字static来修饰方法,可以直接通过接口名调用。

interface Phone {
    static void makePhone(){
        System.out.println("制造手机");
    }
}
class XiaomiPhone implements Phone {
    @Override
    public void makePhone {
        System.out.println("制造小米手机");
    }
}

(2)、默认方法

使用关键字default来修饰方法,默认方法通过对象实例来调用;默认方法使得开发者可以在不破坏二进制兼容性的前提下,往现存接口中添加新的方法,实现类不用强制性实现接口里的默认方法。

interface Phone {
     default void makePhone(){
        System.out.println("制造手机");
    }
     default void typePhone(){
        System.out.printl
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值