返回
直击关键:理解 Class extends 和 implements 的异同
前端
2023-09-21 20:42:26
导言
在 Java 面向对象编程的世界中,继承和实现是两个至关重要的概念,而 extends 和 implements 关键词正是这两个概念的基石。本文将为你揭示 extends 和 implements 的异同,让你对 Java 中的继承和实现有更深刻的认识。
extends:继承的艺术
extends 关键词用于创建一个子类,使其继承父类的属性和方法。子类可以访问父类中未声明为 private 的属性和方法,并可以重写父类的方法以实现自己的行为。
implements:实现的承诺
implements 关键词用于实现一个接口,接口是一组方法声明的集合,不包含任何实现细节。实现接口意味着子类必须提供接口中所有方法的实现。
关键区别:继承与实现
- 继承:子类从父类继承属性和方法,是一种 "is-a" 关系,例如:狗是动物。
- 实现:子类实现接口中的方法,是一种 "can-do" 关系,例如:狗可以吠叫。
实际应用:代码示例
class Animal {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
class Dog extends Animal {
@Override
public String getName() {
return "汪汪!我是" + super.getName();
}
}
interface Speakable {
void speak();
}
class Dog implements Speakable {
@Override
public void speak() {
System.out.println("汪汪!");
}
}
public class Main {
public static void main(String[] args) {
Animal animal = new Animal();
animal.setName("小动物");
System.out.println(animal.getName()); // 输出:小动物
Dog dog = new Dog();
dog.setName("小白");
System.out.println(dog.getName()); // 输出:汪汪!我是小白
Speakable speakable = new Dog();
speakable.speak(); // 输出:汪汪!
}
}
结论
extends 和 implements 是 Java 中两个重要的关键词,用于实现继承和实现。继承是一种 "is-a" 关系,子类从父类继承属性和方法;实现是一种 "can-do" 关系,子类实现接口中的方法。掌握 extends 和 implements 的使用,将帮助你更好地构建复杂且可重用的 Java 程序。