Java中类可通过extends继承抽象类并用implements实现多个接口,如Dog类继承Animal并实现Movable,既复用父类代码又满足接口行为规范,需实现所有抽象方法与接口方法。

在Java中,一个类可以在继承抽象类的同时实现一个或多个接口。这是通过使用 extends 关键字继承抽象类,再用 implements 关键字实现接口来完成的。
语法结构
class 子类名 extends 抽象类名 implements 接口名 { }这种结构允许子类复用抽象类中的代码,同时满足接口定义的行为契约。
具体示例
假设有一个抽象类 Animal,它定义了动物的基本行为:
abstract class Animal {abstract void makeSound();
void sleep() {
System.out.println("Animal is sleeping");
}
}
再定义一个接口 Movable,表示可移动的能力:
立即学习“Java免费学习笔记(深入)”;
interface Movable {void move();
}
现在创建一个类 Dog,它继承自 Animal 并实现 Movable 接口:
class Dog extends Animal implements Movable {@Override
void makeSound() {
System.out.println("Dog barks");
}
@Override
public void move() {
System.out.println("Dog runs on four legs");
}
}
在这个例子中:
- Dog 继承了 Animal 的 sleep 方法,并实现了抽象方法 makeSound
- Dog 实现了 Movable 接口的 move 方法
- 该类同时具备父类的特征和接口约定的行为
注意事项
使用这种组合方式时需要注意:
- 一个类只能继承一个抽象类,但可以实现多个接口
- 必须实现抽象类中的所有抽象方法,除非子类本身也是抽象类
- 必须实现所实现接口中的所有方法
- 如果接口和抽象类中有同名方法,需确保方法签名兼容










