头哥java面向对象-封装、继承和多态的综合练习
时间: 2024-10-18 13:03:40 浏览: 96
在Java面向对象编程中,封装、继承和多态通常被称为“OO(Object-Oriented)三大特性”。以下是它们的综合运用在一个练习中的解释:
1. 封装 (Encapsulation):这是将数据(变量)和处理这些数据的操作(方法)捆绑在一起的过程。在Java中,你可以通过访问修饰符(public、private、protected)控制属性的可见性,并提供getter和setter方法来操作这些私有属性。
```java
class Student {
private String name;
private int age;
public void setName(String name) { this.name = name; }
public String getName() { return name; }
// 类似地,添加设置年龄的方法
}
```
2. 继承 (Inheritance):一个类可以从另一个类继承属性和方法,创建更具体的类。例如,`Employee` 可能从 `Person` 类继承,增加工作相关的属性和方法。
```java
class Person {
private String name;
// ...
}
class Employee extends Person {
private String position;
// 子类特有的方法
public void work() {
// ...
}
}
```
3. 多态 (Polymorphism):在继承体系中,同一种行为可以在不同的对象上表现出不同的形式。如父类引用指向子类对象,调用的方法就是子类实现的版本。
```java
List<? extends Animal> animals = new ArrayList<>(); // 动物列表可以包含任何类型的动物
animals.add(new Dog()); // 添加狗实例
animals.add(new Cat()); // 添加猫实例
// 虽然列表声明为 Animal 类型,但是由于多态,可以直接对 Dog 和 Cat 对象操作
for (Animal animal : animals) {
animal.makeSound(); // 使用的是 Dog 或 Cat 实现的 makeSound 方法
}
```
阅读全文