用户操作界面
package Default;public class Dome02interface {public static void main(String[] args) {// 创建实现类对象
// MyInterfaceDefaultA A = new MyInterfaceDefaultA();
// A.method01();
// System.out.println("--------------");
//
调用默认方法
// A.methodDefault();System.out.println("--------------");MyInterfaceDefaultB B = new MyInterfaceDefaultB();
// B.method01();B.methodDefault();}}//默认方法的好处:不改变(拆除)原先中间商提供的已整理好的“线头接口”,会新增“线头”
中间商整理界面
/** 默认方法格式:* public default 返回值类型 方法名称(参数列表){方法体}* * */
package Default;//import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter.DEFAULT;public interface MyInterDefault {// 抽象方法public abstract void method01();
// public abstract void method02();// 新添加的方法改成默认的方法public default void methodDefault () {System.out.println("这是新添加的默认方法:cccc");}
}
开发者A界面
package Default;public class MyInterfaceDefaultA implements MyInterDefault{@Overridepublic void method01() {System.out.println("实现了抽象方法:AAAA");}}
开发者B界面
package Default;public class MyInterfaceDefaultB implements MyInterDefault{@Overridepublic void method01() {System.out.println("实现了抽象方法:BBBBB");}@Overridepublic void methodDefault() {System.out.println("实现了覆盖抽象方法:覆盖!!");}}