InterAA和InterBB是两个接口,Demo1是一个父类
类ImpleDemo继承类Demo1实现两个接口InterAA,InterBB
interface InterAA{
public static final int num1 = 10;
public static final double num2 = 20.20;
public abstract void show();
}
interface InterBB{
public abstract void show();
}
class Demo1{
public void show(){
System.out.println("类的继承");
}
}
class ImpleDemo extends Demo1 implements InterAA,InterBB{
/*
父类继承了Demo1类还实现了接口InterAA和接口InterBB
我们看到父类Demo1和接口InterAA和InterBB以及子类 ImpleDemo
本身都有show()方法,当继承Demo1时,子类方法就覆盖了父类的
show()方法,再实现接口InterAA,由于接口中定义的是抽象的show()
方法,所以子类相当于补充了它的show()方法,实现InterBB接口也一样
所以最总的show方法还是子类自己的
*/
public void show(){
System.out.println(ImpleDemo.class);
}
}
public class InterfaceDemo2 {
public static void main(String[] args){
ImpleDemo im = new ImpleDemo();
im.show(); //实际上调用的就是子类的show()方法
}
}
代码中子父类方法主体相同,所以子类是复写父类的功能,所以编译能够通过,并不冲突。 |