当前位置:首页 > Java

Java类如何封装

2026-03-24 06:07:54Java

封装的概念

封装是面向对象编程的三大特性之一(封装、继承、多态),指将对象的属性和行为(方法)包装在一个类中,并隐藏内部实现细节,仅对外提供可控的访问方式。

封装的核心原则

  • 私有化属性:使用 private 修饰符限制直接访问类的成员变量。
  • 提供公共方法:通过 public 的 getter 和 setter 方法间接操作属性,实现数据验证和逻辑控制。

实现封装的步骤

1. 私有化成员变量
将类的属性声明为 private,禁止外部直接访问:

private String name;
private int age;

2. 提供公共访问方法
通过 getter(获取属性值)和 setter(设置属性值)方法控制访问:

public String getName() {
    return name;
}

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

3. 添加逻辑验证
在 setter 方法中加入业务逻辑,确保数据合法性:

Java类如何封装

public void setAge(int age) {
    if (age >= 0 && age <= 120) {
        this.age = age;
    } else {
        throw new IllegalArgumentException("年龄无效");
    }
}

封装的优势

  • 安全性:防止外部代码随意修改内部数据。
  • 灵活性:可在方法中添加额外逻辑(如数据校验、日志记录)。
  • 可维护性:修改内部实现时不影响外部调用。

示例代码

public class Person {
    private String name;
    private int age;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        if (age >= 0) {
            this.age = age;
        }
    }
}

注意事项

  • 对于不可变属性(如 ID),可仅提供 getter 方法。
  • 若需完全隐藏内部实现,可使用接口或抽象类进一步隔离细节。

标签: Java
分享给朋友:

相关文章

Java如何换行

Java如何换行

在Java中换行的方法 使用转义字符\n 在字符串中插入\n表示换行符,适用于控制台输出或文本处理: System.out.println("第一行\n第二行"); 使用System.lineS…

Java如何实现异步处理

Java如何实现异步处理

异步处理的实现方式 Java中实现异步处理有多种方法,包括使用多线程、Future、CompletableFuture以及响应式编程框架等。以下是几种常见的实现方式: 使用多线程 通过创建新线程执行…

Java 如何初始化

Java 如何初始化

初始化基本数据类型 Java 的基本数据类型(如 int, double, boolean 等)可以直接赋值初始化: int num = 10; double price = 29.99; bo…

shell 如何调用Java

shell 如何调用Java

在Shell中调用Java程序 通过Shell脚本调用Java程序需要确保Java环境已正确配置,并明确指定类路径或JAR文件路径。以下是具体实现方法: 检查Java环境 执行以下命令验证Java是…

Java如何添加事件

Java如何添加事件

添加事件监听器的方法 在Java中,事件监听通常用于响应用户操作(如按钮点击、键盘输入等)或系统事件。以下是几种常见的事件监听实现方式: 使用匿名内部类 button.addActionListe…

如何自学Java竞赛

如何自学Java竞赛

自学Java竞赛的步骤 明确竞赛目标和范围 确定参加的竞赛类型(如ACM、LeetCode周赛等),了解其考察重点(算法、数据结构、特定库函数)。研究往届题目和评分标准,制定针对性学习计划。 掌握核…