基础可运行代码
// 父类
public class Person {
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
}
// 子类
public class Father extends Person {
public Father(String name, int age) {
super(name, age);
}
public void eat() {
System.out.println(getAge() + ", " + getName());
}
}
// 测试入口
public class Test {
public static void main(String[] args) {
Person p = new Father("John", 30);
if (p instanceof Father f) f.eat();
}
}
核心规则
✅ Java仅支持单继承:一个类只能直接extends一个父类
✅ 构造器不会被继承,super()必须写在子类构造器第一行
✅ 方法重写必须加@Override注解,方法签名和父类完全一致
✅ 父类private私有成员子类不能直接访问,只能通过get/set方法操作
✅ 向下强转前必须用instanceof做类型判断,避免运行时ClassCastException
✅ 必须满足is-a语义才用继承,继承链深度建议不超过3层