java如何新建子类
创建Java子类的基本步骤
在Java中,子类通过继承父类来扩展或修改其功能。以下是创建子类的具体方法:
定义父类
父类是被继承的基类,需先明确其属性和方法。例如定义一个Animal类作为父类:
public class Animal {
protected String name;
public Animal(String name) {
this.name = name;
}
public void eat() {
System.out.println(name + " is eating.");
}
}
使用extends关键字创建子类
子类通过extends继承父类,并可以添加新方法或重写父类方法。例如创建Dog子类:
public class Dog extends Animal {
private String breed;
public Dog(String name, String breed) {
super(name); // 调用父类构造函数
this.breed = breed;
}
@Override
public void eat() {
System.out.println(name + " the " + breed + " is chewing bones.");
}
public void bark() {
System.out.println("Woof! Woof!");
}
}
关键注意事项
构造函数调用
子类构造函数必须通过super()调用父类构造函数,且需为第一条语句。若父类有无参构造器,编译器会隐式调用。

方法重写
使用@Override注解明确表示重写父类方法,需保持方法签名一致。子类方法访问权限不能比父类更严格(如父类为protected,子类不能为private)。
访问控制

private成员无法被直接继承protected和public成员可直接访问- 包级私有(无修饰符)成员仅在同包下可继承
继承的进阶用法
多层继承 Java支持多重继承层级,但禁止多继承(一个子类不能直接继承多个父类)。例如:
public class Puppy extends Dog {
public Puppy(String name, String breed) {
super(name, breed);
}
public void whimper() {
System.out.println("...");
}
}
final类限制
若父类被声明为final,则无法被继承:
public final class FinalClass {}
// public class Child extends FinalClass {} // 编译错误
抽象类继承 子类继承抽象类时,必须实现所有抽象方法,除非子类本身也是抽象类:
public abstract class AbstractParent {
public abstract void methodA();
}
public class ConcreteChild extends AbstractParent {
@Override
public void methodA() {
// 具体实现
}
}
通过合理使用继承,可以实现代码复用和多态特性。实际开发中应遵循里氏替换原则,确保子类能完全替代父类行为。






