java如何继承
Java继承的基本语法
在Java中,使用 extends 关键字实现类的继承。子类继承父类的属性和方法(非私有成员),语法如下:
class 父类 {
// 父类成员
}
class 子类 extends 父类 {
// 子类成员
}
继承的特性
-
单继承限制
Java不支持多继承,一个子类只能直接继承一个父类。但可以通过接口(implements)实现多重继承的效果。
-
成员继承规则

- 子类继承父类的非私有(
public、protected、默认修饰符)属性和方法。 - 私有成员(
private)不可直接访问,需通过父类的公共方法间接访问。
- 子类继承父类的非私有(
-
方法重写(Override)
子类可以重写父类的方法,需满足:- 方法名、参数列表完全相同。
- 访问权限不能比父类更严格(如父类为
public,子类不能为private)。 - 返回类型需兼容(子类方法返回类型可以是父类方法返回类型的子类)。
示例代码
class Animal {
public void eat() {
System.out.println("动物进食");
}
}
class Dog extends Animal {
@Override
public void eat() {
System.out.println("狗吃骨头"); // 方法重写
}
public void bark() {
System.out.println("狗吠叫"); // 子类新增方法
}
}
public class Main {
public static void main(String[] args) {
Dog dog = new Dog();
dog.eat(); // 输出:狗吃骨头
dog.bark(); // 输出:狗吠叫
}
}
继承中的构造方法
- 子类构造方法默认调用父类的无参构造(隐式
super())。 - 若父类没有无参构造,需通过
super(参数)显式调用父类构造方法,且必须放在子类构造方法的第一行。class Parent { Parent(int x) { System.out.println("父类构造方法"); } }
class Child extends Parent { Child() { super(10); // 显式调用父类构造方法 System.out.println("子类构造方法"); } }
### 继承与 `final` 关键字
- 用 `final` 修饰的类不能被继承。
- 用 `final` 修饰的方法不能被子类重写。
### 继承的应用场景
- 代码复用:共享通用属性和方法。
- 多态实现:通过父类引用指向子类对象,实现运行时绑定。
通过合理使用继承,可以构建层次清晰的类结构,提升代码的可维护性和扩展性。






