在Java中,如果一個父類和它的子類都實現了同一個接口,那么這些類都必須實現該接口所規定的所有方法。
下面是一個簡單的例子:
public interface Animal { void eat(); } public class Mammal implements Animal { public void eat() { System.out.println("I am eating."); } } public class Dog extends Mammal implements Animal { public void eat() { super.eat(); System.out.println("I am eating like a dog."); } }
在這個例子中,Animal是一個接口,它規定了一個eat()方法。Mammal類實現了Animal接口,并實現了eat()方法。Dog類擴展了Mammal類,并且也實現了Animal接口,它重寫了eat()方法,同時通過調用super.eat()來調用Mammal類中的eat()方法,然后添加了一些額外的邏輯。
Java中一個類可以實現多個接口,所以如果父類和它的子類都實現了多個接口,那么這些類都必須實現所有的接口所規定的所有方法。
下面是一個實現多個接口的例子:
public interface Animal { void eat(); } public interface Flyable { void fly(); } public class Bat implements Animal, Flyable { public void eat() { System.out.println("I am eating insects."); } public void fly() { System.out.println("I am flying."); } }
在這個例子中,Animal和Flyable都是接口,Animal規定了eat()方法,Flyable規定了fly()方法。Bat類實現了Animal和Flyable接口,并實現了eat()和fly()方法。