如何继承java
继承的概念
继承是面向对象编程的核心特性之一,允许一个类(子类)基于另一个类(父类)构建,继承父类的属性和方法,同时可以扩展或修改功能。
实现继承的语法
在Java中,使用extends关键字实现继承。子类继承父类的非私有成员(属性和方法)。
class ParentClass {
// 父类的属性和方法
String parentField = "父类字段";
void parentMethod() {
System.out.println("父类方法");
}
}
class ChildClass extends ParentClass {
// 子类可以添加新属性和方法
String childField = "子类字段";
void childMethod() {
System.out.println("子类方法");
}
}
方法重写(Override)
子类可以重写父类的方法,提供特定实现。使用@Override注解确保重写正确。
class ParentClass {
void display() {
System.out.println("父类显示方法");
}
}
class ChildClass extends ParentClass {
@Override
void display() {
System.out.println("子类重写的显示方法");
}
}
继承的限制
- Java不支持多继承(一个子类只能继承一个父类)。
- 父类的私有成员(
private修饰)不能被继承。 - 构造方法不继承,但子类必须调用父类构造方法(通过
super())。
构造方法与继承
子类构造方法默认调用父类的无参构造方法。若父类没有无参构造方法,需显式调用super(参数)。

class ParentClass {
ParentClass(String msg) {
System.out.println("父类构造方法:" + msg);
}
}
class ChildClass extends ParentClass {
ChildClass() {
super("调用父类构造方法"); // 必须显式调用
System.out.println("子类构造方法");
}
}
继承与访问修饰符
public和protected成员可被继承。private成员不可继承。- 默认(包级私有)成员仅在同包内可继承。
继承的应用场景
- 代码复用:共享公共逻辑。
- 多态:通过父类引用调用子类方法。
- 分层设计:如GUI组件、异常体系等。
示例:完整继承案例
class Animal {
void eat() {
System.out.println("动物进食");
}
}
class Dog extends Animal {
@Override
void eat() {
System.out.println("狗吃骨头");
}
void bark() {
System.out.println("狗吠叫");
}
}
public class Main {
public static void main(String[] args) {
Dog dog = new Dog();
dog.eat(); // 调用重写方法
dog.bark(); // 调用子类方法
}
}






