封装是面向对象编程(OOP)的核心原则之一,它促进了代码的安全性和可维护性。在Java中,封装通过将数据和操作数据的方法捆绑在一个单元(类)中来实现,并控制对这些数据的访问权限。

实现封装的关键步骤:

  1. 数据隐藏: 使用 private 访问修饰符将类的成员变量声明为私有,阻止外部直接访问。

  2. 提供访问方法: 创建公共的getter和setter方法,允许以受控方式访问和修改私有成员变量。

  3. Getter方法: 负责返回私有成员变量的值。

  4. Setter方法: 用于设置私有成员变量的值,通常包含数据验证逻辑以确保数据的完整性。

示例代码:

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

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

    public String getName() {
        return name;
    }

    public void setAge(int age) {
       if (age >= 0) {
           this.age = age;
       } else {
           // 处理非法年龄输入
           System.out.println("年龄不能为负数");
       }
    }

    public int getAge() {
        return age;
    }
}

封装的优势:

  • 增强数据安全性: 隐藏内部数据,防止意外修改。
  • 提高代码可维护性: 修改内部实现不会影响其他部分的代码。
  • 代码模块化: 将数据和方法封装在类中,提高代码的可重用性。