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