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