接口练习题(同名静态方法、同名默认方法、同名抽象方法实现接口后的方法调用及重写)
interface Info1{ //同名的静态方法 static void sf() {System.out.println("info1");} //同名的默认方法:实现类重写 default void df() {System.out.println("info1_df");} //同名的抽象方法 void af();//public abstract void af() } interface Info2{ static void sf() {System.out.println("info2");} default void df() {System.out.println("info2_df");} void af(); } class InfoImpl1 implements Info1,Info2{ //匿名内部类的写法:实现abstract的分开重写 Info1 info1 = new Info1() { @Override public void af() { System.out.println("重写实现的是info1中的af"); } }; Info2 info2 = new Info2() { @Override public void af() { System.out.println("重写实现的是info2中的af"); } }; //------------------------------------------------------ @Override public void af() { //统一重写 } @Override public void df() { Info1.super.df(); Info2.super.df(); } public void show() { Info1.sf(); Info2.sf(); } } public class TestBaseInfo { public static void main(String[] args) { InfoImpl1 info = new InfoImpl1(); // info.show(); info.info1.af(); info.info2.af(); } }