public interface InterA {
/*接口中默认方法的定义格式:
public default 返回值类型 方法名(参数列表){ }
接口中默认方法的注意事项:
1.默认方法不是抽象方法,所以不强制被重写。但如果被重写,重写的时候去掉default关键字
2.public可以省略,default不能省略
3.如果实现了多个接口,多个接口中存在相同名字的默认方法,子类就必须对该方法进行重写
*/
public default void show(){
System.out.println("InterA接口中的默认方法 show");
}
public abstract void method();
}
public interface InterB {
public default void show(){
System.out.println("InterB接口中的默认方法 show");
}
}
public class InterImpl implements InterA,InterB {
@Override
public void method() {
System.out.println("实现类重写的抽象方法");
}
@Override
public void show() {
System.out.println("重写后的show方法");
}
}
public class Test {
public static void main(String[] args) {
InterImpl ii=new InterImpl();
ii.method();
ii.show();
}
}
测试结果