Java中通过extends实现继承,子类可继承父类非私有成员并扩展功能;支持方法重写(@Override)和super调用父类成员或构造器,构造器需用super()初始化父类,且Java仅支持单继承,可通过接口弥补。

在Java中实现继承,主要通过extends关键字让一个类继承另一个类的属性和方法。继承是面向对象编程的三大特性之一,有助于代码复用和建立类之间的层次关系。
使用 extends 关键字
Java中的继承通过extends关键字完成。子类可以继承父类的非私有成员(字段和方法),并可在此基础上扩展功能。
class Animal {
void eat() {
System.out.println("动物在吃东西");
}
}
class Dog extends Animal {
void bark() {
System.out.println("汪汪叫");
}
}
在这个例子中,Dog类继承了Animal类,因此Dog对象可以调用eat()方法。
Dog dog = new Dog(); dog.eat(); // 输出:动物在吃东西 dog.bark(); // 输出:汪汪叫
重写父类方法(Override)
子类可以对继承来的方法进行重写,以实现不同的行为。需使用@Override注解明确表示意图。
立即学习“Java免费学习笔记(深入)”;
class Cat extends Animal {
@Override
void eat() {
System.out.println("猫吃鱼");
}
}
创建Cat对象并调用eat()时,会执行重写后的方法。
本书是全面讲述PHP与MySQL的经典之作,书中不但全面介绍了两种技术的核心特性,还讲解了如何高效地结合这两种技术构建健壮的数据驱动的应用程序。本书涵盖了两种技术新版本中出现的最新特性,书中大量实际的示例和深入的分析均来自于作者在这方面多年的专业经验,可用于解决开发者在实际中所面临的各种挑战。
访问父类成员(super 关键字)
使用super关键字可以在子类中调用父类的方法或构造器。
class Bird extends Animal {
@Override
void eat() {
super.eat(); // 先执行父类的 eat()
System.out.println("鸟在吃虫子");
}
}
这适用于需要在子类方法中保留父类逻辑的场景。
构造器的继承与初始化
子类不会自动继承父类的构造器,但可以通过super()调用父类构造器,且必须放在子类构造器的第一行。
class Person {
String name;
Person(String name) {
this.name = name;
}
}
class Student extends Person {
int rollNo;
Student(String name, int rollNo) {
super(name); // 调用父类构造器
this.rollNo = rollNo;
}
}
基本上就这些。掌握extends、super和@Override,就能在Java中有效使用继承。注意Java不支持多继承(一个类不能继承多个类),但可以通过接口实现类似效果。









