Java8新特性_默认方法

Java8以上的新版本,允许给接口添加一个非抽象的方法实现,只需要使用default关键字即可,这个特征叫做默认方法

默认方法和抽象方法的区别是抽象方法必须要被实现,默认方法不是,作为代替方式,接口可以提供默认方法的实现,所有这个接口的实现类都可以得到默认方法

package com.yqq.app10;

/**
 * @Author yqq
 * @Date 2021/11/18 21:15
 * @Version 1.0
 */
public interface TestDefault {

    void printInfo();

    default void method(){
        System.out.println("测试默认方法");
    }
}

class TestDefaultImpl implements TestDefault{

    @Override
    public void printInfo() {

    }
}
package com.yqq.app10;

/**
 * @Author yqq
 * @Date 2021/11/18 21:15
 * @Version 1.0
 */
public interface TestDefault {

    void printInfo();

    default void method(){
        System.out.println("测试默认方法");
    }
}

class TestDefaultImpl implements TestDefault{

    @Override
    public void printInfo() {
        System.out.println("void");
    }

    @Override
    public void method() {
        System.out.println("重写默认方法");
    }
}


package com.yqq.app10;

/**
 * @Author yqq
 * @Date 2021/11/18 21:19
 * @Version 1.0
 */
public class Test {
    public static void main(String[] args) {
        TestDefault t = new TestDefaultImpl();
        t.method();
        t.printInfo();
    }
}

Java8新特性_默认方法

上一篇:java8 Function 函数式接口的妙用


下一篇:java8中的Collectors.groupingBy用法