java 8 新特性(3.接口的默认方法和静态方法)

java8中允许使用default关键字定义接口的默认方法,默认方法与抽象方法不同,不需要被实现类来具体实现,但是可以被实现类继承或重写。默认方法的出现提供了在不破坏接口的兼容性的前提下对接口进行扩展。

java8中使用static关键字定义接口的静态方法,与一般java类中的静态方法一样。

public interface AA {

    static void helloWorld(){
        System.out.println("hello world");
    }

    default void doSomething(){
        System.out.println("doSomething in AA");
    }
}
public interface BB {

    default void doSomething(){
        System.out.println("doSomething in BB");
    }
}
public interface CC extends AA,BB{
    //重新了父接口的默认方法
    default void doSomething(){
        System.out.println("doSomething in CC");
        //只有直接父类才可以通过XX.super.xxMethod()的方式调用父类默认方法
        AA.super.doSomething();
        BB.super.doSomething();
    }
}
public class Test1 implements CC{

    public static void main(String[] args) {
        CC cc = new Test1();
        //调用接口的默认方法
        cc.doSomething();
        //调用接口的静态方法
        AA.helloWorld();
    }
}
执行结果:

doSomething in CC
doSomething in AA
doSomething in BB
hello world





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值