接口包含像类一样的变量和方法,但是默认情况下,与类不同,接口中的方法是抽象的。如果一个类实现多个接口,或者一个接口本身扩展了多个接口,则按接口进行多重继承。
给出了一个通过Java接口演示多重继承的程序,如下所示:
interface AnimalEat { void eat(); } interface AnimalTravel { void travel(); } class Animal implements AnimalEat, AnimalTravel { public void eat() { System.out.println("Animal is eating"); } public void travel() { System.out.println("Animal is travelling"); } } public class Demo { public static void main(String args[]) { Animal a = new Animal(); a.eat(); a.travel(); } }
输出结果
Animal is eating Animal is travelling
现在让我们了解上面的程序。
接口AnimalEat和AnimalTravel每个都有一个抽象方法,即eat()
和travel()
。Animal类实现了AnimalEat和AnimalTravel接口。演示此代码段如下:
interface AnimalEat { void eat(); } interface AnimalTravel { void travel(); } class Animal implements AnimalEat, AnimalTravel { public void eat() { System.out.println("Animal is eating"); } public void travel() { System.out.println("Animal is travelling"); } }
在Demo类的main()
方法中,创建Animal类的对象a。然后调用方法eat()
和travel()
。演示此代码段如下:
public class Demo { public static void main(String args[]) { Animal a = new Animal(); a.eat(); a.travel(); } }