Java面向对象 - 封装、继承和多态的综合练习
时间: 2024-10-13 10:03:25 浏览: 38
在Java中,面向对象编程的核心特性包括封装、继承和多态,下面是一个简单的例子来说明它们如何结合使用:
1. **封装** (Encapsulation): 这是将数据(变量)和操作这些数据的方法组合在一起形成一个类的过程。比如创建一个`Person`类,它有一个私有属性`name`,并提供一个公共方法`getName()`来获取姓名,这就是封装。
```java
public class Person {
private String name;
// Getter method for encapsulation
public String getName() {
return name;
}
// Setter method (not shown here)
public void setName(String name) {
this.name = name;
}
}
```
2. **继承** (Inheritance): 通过继承可以让一个类(称为子类或派生类)获得另一个类(称为父类或基类)的所有属性和方法。例如,`Employee`类可以继承自`Person`类:
```java
public class Employee extends Person {
private double salary;
// Overridden or added methods here
public double getSalary() { /* implementation */ }
}
```
3. **多态** (Polymorphism): 当一个引用变量指向父类型的对象实例时,它可以调用该对象所具有的所有同名方法,无论是父类还是子类实现的。如在上述例子中,可以用`Employee`类型的引用去调用`getName()`和`getSalary()`方法:
```java
Employee emp = new Employee();
emp.setName("John Doe");
System.out.println(emp.getName()); // 输出 "John Doe"
System.out.println(emp.getSalary()); // 调用Employee类的getSalary()
```
阅读全文