java父类子类
时间: 2025-05-18 10:02:11 浏览: 24
在 Java 中,父类和子类的关系是面向对象编程的基础之一。通过继承机制,子类可以从父类那里获得属性和方法,并可以对这些内容进行扩展或修改。
### 父类与子类的概念
- **父类**:也叫超类(Superclass),是指被其他类所继承的类。它包含了通用的功能和属性。
- **子类**:指从另一个类派生出来的类,称为子类(Subclass)。它可以拥有父类的所有非私有成员变量和方法,并可以在需要的时候添加新的功能或覆盖已有功能。
#### 关键点
1. **继承关键字 `extends`**: 子类通过使用 `extends` 来声明它是某个父类的后代。
```java
class ParentClass {
// 父类的内容...
}
class ChildClass extends ParentClass {
// 子类特有的内容...
}
```
2. **构造函数的调用顺序**:
- 当创建一个子类的对象时,首先会自动调用其父类无参构造函数(如果存在的话),然后才执行自身构造器里的初始化代码。
3. **访问权限控制**
- 如果父类中有某些字段或者方法设置成了 private,则它们对于子类来说将是不可见也无法直接操作;而 protected 和 public 的元素则可在子类内正常使用。
4. **覆写(Override)**:
- 子类能够提供同名的方法来替代继承自父类的行为版本——这被称为“覆写” (override) 。为了保证安全性和清晰度,在实际编码过程中应该加上 @Override 注解标明此意图。
5. **多态性体现**:
- 由于支持向上转型(upcasting),所以我们可以把任何一个具体的子类型实例当作对应的更广泛意义上的父类型对待处理,比如将 Dog 类型视为 Animal 类型的一部分。
---
例如下面的例子展示了如何构建简单的父子关系:
```java
// 定义了一个动物类作为父亲角色
public abstract class Animal {
String name;
void setName(String n){
this.name =n;
}
}
// 创建狗这个具体物种并继承了上面提到过的Animal类别
public class Dog extends Animal{
void bark(){
System.out.println("汪!");
}
}
```
在这个示例中,“Dog” 是 “Animal”的一种特殊形式,即它的子类。这意味着所有应用于 "Animals" 上的操作同样适用于 “Dogs”。
阅读全文
相关推荐


















