当前位置:首页 > Java

java 如何使用封装

2026-03-23 00:17:40Java

封装的概念

封装是面向对象编程的三大特性之一(封装、继承、多态),指将数据(属性)和操作数据的方法(行为)捆绑在一起,并对外隐藏内部实现细节。通过封装可以实现数据的安全性和代码的可维护性。

实现封装的关键步骤

使用访问修饰符
Java 提供 privateprotectedpublic 和默认(无修饰符)四种访问控制级别。封装通常通过将属性设为 private,再通过 public 方法暴露访问或修改的入口:

public class Person {
    private String name;  // 私有属性
    private int age;

    public String getName() {  // 公开的getter方法
        return name;
    }

    public void setName(String name) {  // 公开的setter方法
        this.name = name;
    }
}

通过方法控制数据逻辑
setter 方法中添加校验逻辑,确保数据合法性:

public void setAge(int age) {
    if (age > 0 && age < 120) {  // 校验年龄范围
        this.age = age;
    } else {
        throw new IllegalArgumentException("Invalid age");
    }
}

封装的优势

  • 数据保护:防止外部直接修改对象属性,避免非法值。
  • 灵活性:内部实现可独立修改而不影响调用方。
  • 隐藏复杂性:暴露简单接口,隐藏复杂逻辑。

实际应用示例

结合构造方法实现完整封装:

public class BankAccount {
    private double balance;

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

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

    public double getBalance() {
        return balance;
    }
}

注意事项

  • 避免过度封装,非必要属性可直接暴露。
  • 对于集合类属性,返回副本而非原始引用以防止外部修改:
    
    private List<String> items = new ArrayList<>();

public List getItems() { return new ArrayList<>(items); // 返回副本 }

java 如何使用封装

分享给朋友:

相关文章

java如何编程

java如何编程

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

如何自学java

如何自学java

选择合适的学习资源 从官方文档开始,Oracle提供的Java官方教程(Java Tutorials)是权威且免费的学习资料。在线平台如Codecademy、Coursera或Udemy提供互动式课程…

java如何删除文件

java如何删除文件

删除文件的基本方法 使用 java.io.File 类的 delete() 方法可以删除文件。如果文件存在且删除成功,返回 true;否则返回 false。 import java.io.Fil…

react 如何使用 apply

react 如何使用 apply

使用 apply 方法的基本概念 在 JavaScript 中,apply 是函数原型上的方法,用于调用函数时指定 this 的值和传递参数数组。React 中可以使用 apply 来绑定组件方法或调…

react 如何使用canvas

react 如何使用canvas

使用 Canvas 在 React 中的方法 基本用法 在 React 中使用 canvas 需要通过 useRef 或 createRef 获取 DOM 节点。以下是一个简单的示例: im…

java如何打印数组

java如何打印数组

打印数组的方法 在Java中,打印数组有多种方式,以下是几种常见的方法: 使用Arrays.toString()方法 这种方法适用于一维数组,可以快速将数组转换为字符串形式输出: int[] a…