java 如何实现继承
继承的基本概念
在Java中,继承是通过extends关键字实现的,允许子类继承父类的属性和方法。子类可以复用父类的代码,同时可以扩展或重写父类的功能。
实现继承的步骤
定义父类
父类是被继承的类,包含通用的属性和方法。例如:
public class Animal {
protected String name;
public void eat() {
System.out.println(name + " is eating.");
}
}
定义子类
子类使用extends继承父类,并可以添加新的属性和方法。例如:

public class Dog extends Animal {
public void bark() {
System.out.println(name + " is barking.");
}
}
使用继承
子类对象可以直接调用父类的非私有成员(protected或public)。例如:
public class Main {
public static void main(String[] args) {
Dog myDog = new Dog();
myDog.name = "Buddy";
myDog.eat(); // 调用父类方法
myDog.bark(); // 调用子类方法
}
}
方法重写(Override)
子类可以重写父类的方法以提供特定实现。使用@Override注解明确标识:

public class Dog extends Animal {
@Override
public void eat() {
System.out.println(name + " eats dog food.");
}
}
继承的限制
- Java不支持多继承(一个子类只能继承一个父类)。
- 父类的私有成员(
private)不能被继承。 - 构造方法不继承,但可通过
super()调用父类构造方法。
构造方法与继承
子类构造方法默认调用父类的无参构造方法。若父类没有无参构造方法,需显式调用super:
public class Animal {
public Animal(String name) {
this.name = name;
}
}
public class Dog extends Animal {
public Dog(String name) {
super(name); // 必须显式调用父类构造方法
}
}
继承与多态
父类引用可以指向子类对象,实现多态:
Animal myAnimal = new Dog("Buddy");
myAnimal.eat(); // 实际调用子类重写的方法






