java 中如何继承
继承的基本语法
在Java中,使用extends关键字实现继承。子类继承父类的非私有成员(属性和方法)。语法如下:
class ParentClass {
// 父类属性和方法
}
class ChildClass extends ParentClass {
// 子类新增的属性和方法
}
继承的特性
- 单继承:Java不支持多继承,一个子类只能有一个直接父类。
- 成员继承:子类继承父类的
public和protected成员,不继承private成员。 - 构造方法:子类构造方法默认调用父类的无参构造(通过
super()),若父类没有无参构造,需显式调用super(参数)。
方法重写(Override)
子类可以重写父类的方法,需满足以下条件:
- 方法名、参数列表完全相同。
- 返回类型兼容(子类返回类型可以是父类返回类型的子类)。
- 访问修饰符不能比父类更严格(如父类是
public,子类不能是private)。
示例:
class Animal {
public void sound() {
System.out.println("Animal makes sound");
}
}
class Dog extends Animal {
@Override
public void sound() {
System.out.println("Dog barks");
}
}
继承与构造方法
子类构造方法中,super()必须出现在第一行(若未显式调用,编译器默认添加无参super())。若父类没有无参构造,需显式调用带参构造:
class Parent {
Parent(int x) { /* ... */ }
}
class Child extends Parent {
Child() {
super(10); // 显式调用父类带参构造
}
}
继承的限制
final类:被声明为final的类不能被继承。final方法:父类中的final方法不能被子类重写。- 抽象类:抽象类(
abstract)必须被继承才能实例化,子类需实现所有抽象方法。
继承与多态
通过父类引用指向子类对象,实现运行时多态:

Animal myDog = new Dog();
myDog.sound(); // 输出 "Dog barks"(调用子类重写方法)
继承是Java面向对象的核心机制之一,合理使用可提高代码复用性和扩展性。






