Java中实现子类的方法和技巧有哪些?如何正确继承父类?
- 后端开发
- 2025-09-17
- 10
在Java编程语言中,子类是用来继承父类的方法和属性的一种机制,子类可以扩展父类,添加新的方法或属性,也可以覆盖父类的方法,以下是如何在Java中编写子类的详细步骤和示例。
定义父类
你需要定义一个父类,父类包含子类将要继承的方法和属性。
public class ParentClass { private int parentField; public ParentClass(int parentField) { this.parentField = parentField; } public void parentMethod() { System.out.println("This is a method in the parent class."); } public int getParentField() { return parentField; } }
定义子类
定义一个子类,子类可以继承父类,使用extends关键字。
public class ChildClass extends ParentClass { private int childField; public ChildClass(int parentField, int childField) { super(parentField); this.childField = childField; } @Override public void parentMethod() { System.out.println("This is a method in the child class."); } public void childMethod() { System.out.println("This is a method in the child class."); } public int getChildField() { return childField; } }
使用子类
你可以创建子类的实例,并调用其方法和属性。
public class Main { public static void main(String[] args) { ChildClass child = new ChildClass(10, 20); child.parentMethod(); // 输出:This is a method in the child class. child.childMethod(); // 输出:This is a method in the child class. System.out.println("Parent field: " + child.getParentField()); // 输出:Parent field: 10 System.out.println("Child field: " + child.getChildField()); // 输出:Child field: 20 } }
方法覆盖
在子类中,你可以使用@Override注解来覆盖父类的方法,这表示你正在重写父类中的同名方法。

构造函数
子类可以使用super()关键字来调用父类的构造函数,这确保了父类的构造函数被正确调用,并且父类的属性被初始化。
public ChildClass(int parentField, int childField) { super(parentField); this.childField = childField; }
访问控制
Java提供了四种访问控制符:public、protected、default(没有关键字)和private,这些控制符用于控制类、方法、变量等的访问级别。
- public:可以在任何地方访问。
- protected:可以在同一个包内或继承的类中访问。
- default:只能在同一个包内访问。
- private:只能在类内部访问。
表格示例
以下是一个表格,展示了不同访问控制符的示例:


| 访问控制符 | 类内部 | 同一个包 | 继承的类 | 其他包 |
|---|---|---|---|---|
| public | 是 | 是 | 是 | 是 |
| protected | 是 | 是 | 是 | 否 |
| default | 是 | 是 | 否 | 否 |
| private | 是 | 否 | 否 | 否 |
FAQs
Q1:子类可以访问父类的私有方法吗?
A1: 不可以,子类无法直接访问父类的私有方法,私有方法只能在父类内部访问。
Q2:子类可以添加新的属性和方法吗?
A2: 是的,子类可以添加新的属性和方法,同时继承父类的属性和方法。