java如何实现继承
继承的基本语法
在Java中,使用 extends 关键字实现继承。子类通过继承父类获得其非私有成员(属性和方法)。
class ParentClass {
// 父类属性
String parentField = "父类字段";
// 父类方法
void parentMethod() {
System.out.println("父类方法");
}
}
class ChildClass extends ParentClass {
// 子类可以添加自己的属性和方法
void childMethod() {
System.out.println("子类方法");
}
}
方法重写(Override)
子类可以重写父类的方法以提供特定实现,需使用 @Override 注解标注。

class ParentClass {
void display() {
System.out.println("父类显示");
}
}
class ChildClass extends ParentClass {
@Override
void display() {
System.out.println("子类显示");
}
}
继承中的构造方法
子类构造方法默认调用父类的无参构造方法。若父类没有无参构造方法,需通过 super 显式调用父类构造方法。

class ParentClass {
ParentClass(String msg) {
System.out.println("父类构造方法: " + msg);
}
}
class ChildClass extends ParentClass {
ChildClass() {
super("调用父类构造方法"); // 必须放在子类构造方法的第一行
System.out.println("子类构造方法");
}
}
单继承限制
Java不支持多继承(一个子类只能继承一个父类),但可以通过接口(implements)实现多继承的效果。
interface InterfaceA {
void methodA();
}
interface InterfaceB {
void methodB();
}
class ChildClass implements InterfaceA, InterfaceB {
@Override
public void methodA() {
System.out.println("实现接口A");
}
@Override
public void methodB() {
System.out.println("实现接口B");
}
}
访问修饰符的影响
private成员无法被继承。protected和public成员可以被继承。- 默认(包级私有)成员仅在同一包内可被继承。
class ParentClass {
private String privateField = "私有字段"; // 不可继承
protected String protectedField = "受保护字段"; // 可继承
}
class ChildClass extends ParentClass {
void accessFields() {
// System.out.println(privateField); // 编译错误
System.out.println(protectedField); // 允许访问
}
}
继承与多态
通过父类引用指向子类对象,实现运行时多态。
ParentClass obj = new ChildClass();
obj.display(); // 调用子类重写的方法






