在Java之中每一个抽象类都可以实现多个接口,但是反过来讲,一个接口却不能继承抽象类,可是Java之中,一个接口却可以同时继承多个接口,以实现接口的多继承操作。
interface A{ // 定义接口A
public String AUTHOR = "李兴华" ; // 全局常量
public void printA() ; // 抽象方法
}
interface B{
public void printB() ;
}
interface C extends A,B{
public void printC() ;
}
class X implements C{ // X类线继承B类
public void printA(){
System.out.println("A、Hello World!!!") ;
}
public void printB(){
System.out.println("B、Hello MLDN") ;
}
public void printC(){
System.out.println("C、Hello LXH") ;
}
};
public class InterfaceDemo06{
public static void main(String args[]){
X x = new X() ; // 实例化子类对象
x.printA() ;
x.printB() ;
x.printC() ;
}
};
那么如果一个类现在即要实现接口又要继承抽象类的话,则应该采用先继承后实现的方式完成。 interface A { // 定义接口 public static final String INFO = “Hello World .” ; public abstract void print() ; } interface B { public abstract void get() ; } abstract class C { public abstract void fun() ; } class X extends C implements A,B { // 同时实现了两个接口 public void print() { // 方法覆写 System.out.println(“Hello World .”) ; } public void get() { System.out.println(INFO) ; } public void fun() { System.out.println(“世界,你好!”) ; } } public class Test { public static void main(String args[]) { A a = new X() ; B b = new X() ; C c = new X() ; a.print() ; b.get() ; c.fun() ; } } 但是需要说明的是:接口之中的全部组成就是抽象方法和全局常量,那么在开发之中以下的两种定义接口的最终效果是完全一样的: