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(); } }