Java学习笔记之default方法

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/yangshuaionline/article/details/85322588

Default Methods是java8中的特性,主要是在之前接口中智能定义方法名称和参数类型,并不能写实际的逻辑,java8之后使用Default Methods就可以写了,下面看一个例子:
首先定义接口:

public interface TestDefault {
    void setName();
    default void setContent(){
        Log.w("打印","依然走了default");
    }
}

然后调用接口:

new TestDefault() {
    @Override
    public void setName() {
       Log.w("打印","name");
    }

    @Override
    public void setContent() {
       Log.w("打印","content");
    }
}.setContent();

打印结果为:

W/打印: content

结论一:在重写了default方法之后,该程序的逻辑走的是重写的部分,而没有走default部分。

修改代码:

new TestDefault() {
    @Override
   	public void setName() {
       Log.w("打印","name");
    }
}.setContent();

打印输出结果:

W/打印: 依然走了default

结论二:default方法可以不被重写,在不被重写的情况下,默认走default逻辑。

猜你喜欢

转载自blog.csdn.net/yangshuaionline/article/details/85322588