java面向对象 - 封装、继承和多态
1.封装
-
定义
封装是把对象的属性和操作(或服务)结合为一个独立的整体,并尽可能隐藏对象的内部实现细节。通过访问控制修饰符(如private
、protected
、public
)对属性和方法的访问进行限制,以此提升代码的安全性与可维护性。
-
要点
- 访问控制:运用
private
修饰属性,防止外部直接访问和修改,提供公共的getter
和setter
方法来间接访问和修改属性。 - 信息隐藏:隐藏对象的内部实现细节,仅向外部暴露必要的接口。
-
实例
java
class BankAccount {
// 私有属性,外部不能直接访问
private double balance;
// 公共的 getter 方法,用于获取属性值
public double getBalance() {
return balance;
}
// 公共的 setter 方法,用于设置属性值
public void deposit(double amount) {
if (amount > 0) {
balance += amount;
System.out.println("存款成功,当前余额: " + balance);
} else {
System.out.println("存款金额必须大于 0");
}
}
public void withdraw(double amount) {
if (amount > 0 && amount <= balance) {
balance -= amount;
System.out.println("取款成功,当前余额: " + balance);
} else {
System.out.println("取款失败,余额不足或取款金额无效");
}
}
}
public class EncapsulationExample {
public static void main(String[] args) {
BankAccount account = new BankAccount();
account.deposit(1000);
account.withdraw(500);
}
}