java如何构建子类
构建 Java 子类的基本语法
在 Java 中,子类通过 extends 关键字继承父类。语法如下:
class ParentClass {
// 父类成员(字段和方法)
}
class ChildClass extends ParentClass {
// 子类特有的成员(字段和方法)
}
继承父类的成员
子类会自动继承父类的非私有(public、protected 或默认修饰符)字段和方法。私有成员(private)无法直接访问,需通过父类提供的公共方法间接访问。
class Animal {
protected String name;
public void eat() {
System.out.println(name + " is eating.");
}
}
class Dog extends Animal {
public void bark() {
System.out.println(name + " is barking.");
}
}
方法重写(Override)
子类可以重写父类的方法以提供特定实现。使用 @Override 注解显式标记,确保重写正确。
class Animal {
public void makeSound() {
System.out.println("Animal makes a sound.");
}
}
class Cat extends Animal {
@Override
public void makeSound() {
System.out.println("Meow!");
}
}
调用父类构造方法
子类构造方法中需通过 super() 调用父类构造方法,且必须位于子类构造方法的第一行。若父类有无参构造方法,编译器会自动插入 super()。
class Vehicle {
private String brand;
public Vehicle(String brand) {
this.brand = brand;
}
}
class Car extends Vehicle {
private int year;
public Car(String brand, int year) {
super(brand); // 调用父类构造方法
this.year = year;
}
}
访问父类成员
使用 super 关键字可访问父类的字段或方法,常用于解决子类与父类成员命名冲突。

class Parent {
protected int value = 10;
}
class Child extends Parent {
private int value = 20;
public void printValues() {
System.out.println("Parent value: " + super.value);
System.out.println("Child value: " + this.value);
}
}
继承的限制
- Java 不支持多继承,一个子类只能继承一个父类。
final类不能被继承,final方法不能被子类重写。- 抽象类(
abstract)需被子类实现所有抽象方法,除非子类也是抽象类。
final class FinalClass { } // 不能被继承
abstract class AbstractClass {
public abstract void abstractMethod();
}
class ConcreteClass extends AbstractClass {
@Override
public void abstractMethod() {
System.out.println("Implemented abstract method.");
}
}






