接口的默认方法

 1 package Port;
 2 /*
 3     从java 8开始,接口里允许定义默认方法
 4     格式:
 5     public default 返回值类型 方法名称(参数列表){
 6         方法体
 7     }
 8     备注:接口当中默认方法,可以解决接口升级问题。
 9  */
10 public interface InterfaceDefault {
11     //抽象方法
12     public abstract void Method();
13     //新添加一个默认方法
14     public default void Method1(){
15         System.out.println("这是新添加的默认方法");
16     }
17 }
package Port;

public class Demo {
    public static void main(String[] args) {
        //创建了实现类对象
        Come A = new Come();
        A.Method();//调用抽象方法,实际运行的是右侧实现类

        //调用默认方法,如果实现类当中没有,会向上找接口
        A.Method1();
        System.out.println("==========================");

        Conme1 B = new Conme1();
        B.Method();
        B.Method1();//实现类B覆盖重写了接口的默认方法
    }
}
 1 package Port;
 2 /*
 3     1.接口的默认方法,可以通过接口实现类对象,可以直接调用。
 4     2.接口的默认方法,也可以被接口实现类进行覆盖重写。
 5  */
 6 public class Conme1 implements InterfaceDefault {
 7     @Override
 8     public void Method(){
 9         System.out.println("实现了抽象方法1");
10     }
11     @Override
12     public void Method1(){
13         System.out.println("实现类B 覆盖重写完成!");
14     }
15 }
原文地址:https://www.cnblogs.com/bingquan1/p/12652690.html