在 Java 中,implements
关键字用于实现一个接口。一个类可以实现多个接口,但不能直接继承另一个类。如果你想要实现类似继承的功能,可以使用抽象类(abstract class
)。抽象类可以包含抽象方法和非抽象方法,子类必须实现抽象方法,否则它们也必须被声明为抽象类。
这是一个简单的例子来说明接口和抽象类的区别:
// 定义一个接口
interface Animal {
void eat();
}
// 定义一个抽象类
abstract class Mammal {
abstract void sleep();
void breathe() {
System.out.println("I can breathe.");
}
}
// 实现接口和继承抽象类的类
class Dog extends Mammal implements Animal {
@Override
public void eat() {
System.out.println("I can eat.");
}
@Override
void sleep() {
System.out.println("I can sleep.");
}
}
public class Main {
public static void main(String[] args) {
Dog dog = new Dog();
dog.eat(); // 输出 "I can eat."
dog.sleep(); // 输出 "I can sleep."
dog.breathe(); // 输出 "I can breathe."
}
}
在这个例子中,Dog
类实现了 Animal
接口并继承了 Mammal
抽象类。