当前位置:首页 > Java

java如何使用封装

2026-03-18 08:12:20Java

封装的概念

封装是面向对象编程的三大特性之一(封装、继承、多态),其核心是将数据(属性)和操作数据的方法(行为)绑定在一起,并对外隐藏内部实现细节。通过访问修饰符(如 privateprotectedpublic)控制数据的可见性,确保数据安全性和代码可维护性。

封装的基本实现步骤

定义私有属性
使用 private 修饰类的属性,限制外部直接访问。

private String name;
private int age;

提供公共方法(Getter/Setter)
通过 public 方法暴露对属性的可控访问,可在方法中添加逻辑校验。

public String getName() {
    return name;
}

public void setName(String name) {
    if (name != null && !name.isEmpty()) {
        this.name = name;
    }
}

构造方法封装
通过构造方法初始化对象时强制校验数据。

java如何使用封装

public Person(String name, int age) {
    this.setName(name); // 复用Setter逻辑
    this.setAge(age);
}

封装的典型示例

public class BankAccount {
    private String accountNumber;
    private double balance;

    public BankAccount(String accountNumber, double initialBalance) {
        this.accountNumber = accountNumber;
        if (initialBalance >= 0) {
            this.balance = initialBalance;
        }
    }

    public void deposit(double amount) {
        if (amount > 0) {
            balance += amount;
        }
    }

    public void withdraw(double amount) {
        if (amount > 0 && amount <= balance) {
            balance -= amount;
        }
    }

    public double getBalance() {
        return balance;
    }
}

封装的优势

  • 数据保护:防止外部直接修改敏感数据(如余额、年龄)。
  • 灵活性:可在Getter/Setter中添加额外逻辑(如日志、校验)。
  • 降低耦合:隐藏实现细节,外部仅依赖公开方法。

注意事项

  • 避免过度封装:简单属性可直接用公共方法暴露,无需复杂逻辑。
  • 不可变对象:若属性不允许修改,可省略Setter(如 final 字段)。
  • 一致性:Getter/Setter命名遵循 getXxx/setXxx 规范(布尔类型用 isXxx)。

通过合理使用封装,能显著提升代码的健壮性和可维护性。

分享给朋友:

相关文章

如何运行java

如何运行java

运行Java程序的方法 安装Java开发工具包(JDK) 确保系统已安装JDK。可通过命令行输入 java -version 检查是否安装。若未安装,需从Oracle官网或OpenJDK下载并配置环境…

java如何编译

java如何编译

编译Java程序的基本步骤 安装JDK(Java Development Kit)并配置环境变量。确保javac和java命令可在命令行中运行。JDK是编译和运行Java程序的必备工具。 创建Jav…

java如何编程

java如何编程

Java编程基础 Java是一种面向对象的编程语言,广泛应用于企业级开发、移动应用(Android)等领域。以下是Java编程的核心步骤和示例。 环境搭建 安装JDK 从Oracle官网下载适合…

如何运行java程序

如何运行java程序

编写Java代码 创建一个以.java为扩展名的文件,例如HelloWorld.java。文件内容需包含一个类定义,类名必须与文件名一致。例如: public class HelloWorld {…

uniapp中如何使用iconfont

uniapp中如何使用iconfont

使用 Iconfont 在 Uniapp 中的步骤 下载 Iconfont 资源 访问 Iconfont 官网,选择需要的图标并添加到项目。下载时选择 Font class 格式,解压后会得到 .tt…

java如何react

java如何react

在Java中使用React 要在Java项目中集成React,通常需要将React前端与Java后端结合使用。以下是几种常见的方法: 使用Spring Boot作为后端 Spring Boot是一个…