在Java中,子类可以实现父类中定义的接口。这意味着,如果一个类(子类)继承了一个父类,并且父类实现了某个接口,那么子类可以选择性地实现该接口中的方法。如果子类选择实现接口中的方法,它必须提供接口中所有未实现方法的实现。
下面是一个简单的例子来说明如何在Java中使用父类接口:
```java
// 定义一个接口
interface Animal {
void eat();
}
// 定义一个父类,实现了Animal接口
class Mammal implements Animal {
@Override
public void eat() {
System.out.println("Mammal is eating");
}
}
// 定义一个子类,继承了Mammal类,并实现了Animal接口
class Dog extends Mammal {
@Override
public void eat() {
System.out.println("Dog is eating");
}
}
public class Main {
public static void main(String[] args) {
Dog dog = new Dog();
dog.eat(); // 输出:Dog is eating
}
}
在这个例子中,`Dog` 类继承了 `Mammal` 类,而 `Mammal` 类实现了 `Animal` 接口。`Dog` 类也实现了 `Animal` 接口中的 `eat` 方法,因此它可以被看作是 `Animal` 接口的一个实现者。
需要注意的是,如果子类没有实现接口中的所有方法,那么它必须至少提供一个无参构造函数,否则编译器会报错。