java如何继承父类
继承的基本语法
在Java中,使用extends关键字实现类继承。子类会获得父类的非私有成员(属性和方法),并可以添加自己的新特性。
class ParentClass {
// 父类成员
}
class ChildClass extends ParentClass {
// 子类新增成员
}
方法重写规则
子类可以重写父类的方法以满足特定需求,需遵循以下规则:

- 方法名、参数列表必须与父类完全相同
- 访问修饰符不能比父类更严格(如父类是
protected,子类可以是public或protected) - 返回类型可以是父类返回类型的子类(协变返回类型)
- 不能重写
private、final或static方法
class Parent {
protected void show() {
System.out.println("Parent's show");
}
}
class Child extends Parent {
@Override
public void show() {
System.out.println("Child's show");
}
}
构造器调用机制
子类构造器会隐式调用父类无参构造器,若父类没有无参构造器或需要显式调用特定构造器,需使用super():

class Parent {
Parent(int x) {
System.out.println("Parent constructor");
}
}
class Child extends Parent {
Child() {
super(10); // 必须显式调用父类构造器
System.out.println("Child constructor");
}
}
访问控制修饰符
public:所有类可访问protected:同包及子类可访问默认(无修饰符):仅同包可访问private:仅本类可访问
继承类型限制
Java不支持多重继承(一个子类继承多个父类),但支持多层继承(A继承B,B继承C)和接口的多实现:
class Grandparent {}
class Parent extends Grandparent {}
class Child extends Parent {}
继承与组合的选择
当需要复用代码时:
- 使用继承表示"is-a"关系(如
Dog是Animal) - 使用组合表示"has-a"关系(如
Car有Engine)
// 组合示例
class Engine {}
class Car {
private Engine engine; // 组合关系
}






