Java面向对象软件开发
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

3.2.3 接口的继承

接口也可以通过关键字extends继承其他接口。子接口将继承父接口中所有的常量和抽象方法。此时,子接口的非抽象派生类不仅要实现子接口的抽象方法,而且要实现继承来的抽象方法。

【例3-5】 接口的继承。

            interface A{
                String a = "接口A中常量";
                void showA();
            }
            interface B extends A{
                String b = "接口B中常量";
                void showB();
            }
            interface C extends B{
                String c = "接口C中常量";
                void showC();
            }
            class InterfaceABC implements C{
                public void showA(){//重写A接口中的方法
                    System.out.println(a);
                }
                public void showB(){//重写B接口中的方法
                    System.out.println(b);
                }
                public void showC(){//重写C接口中的方法
                    System.out.println(c);
                }
            }
            public class InterfaceDemo{
                    public static void main(String[] args) {
                    InterfaceABC i=new InterfaceABC();//将接口关联到满足其规范的具体对象上
                    i.showA();//通过接口完成对对象方法的调用
                    i.showB();
                    i.showC();
                }
            }

程序运行结果如下:

            接口A中常量
            接口B中常量
            接口C中常量

特别提示:

● 继承不允许循环继承或继承自己。

● 接口可以多继承,即可以有多个直接父接口。而类只允许单继承。如【例3-5】中的接口C可以如下定义:

interface C extends A,B

表示C继承于A和B