封装的关键概念:
-
访问修饰符: 在Java中,使用
public
、private
、protected
等关键字来定义成员变量和方法的访问权限。 -
Getter 和 Setter 方法: 通过公共的方法来访问或修改私有的成员变量,分别称为 Getter 和 Setter 方法。
public class Student { // 私有成员变量,只能在类内部访问 private String name; private int age; // 公共构造方法 public Student(String name, int age) { this.name = name; this.age = age; } // Getter 方法,用于获取私有成员变量 name 的值 public String getName() { return name; } // Setter 方法,用于设置私有成员变量 name 的值 public void setName(String name) { this.name = name; } // Getter 方法,用于获取私有成员变量 age 的值 public int getAge() { return age; } // Setter 方法,用于设置私有成员变量 age 的值 public void setAge(int age) { if (age >= 0) { this.age = age; } else { System.out.println("年龄不能为负数"); } } // 公共方法,用于显示学生信息 public void displayInfo() { System.out.println("学生姓名: " + name); System.out.println("学生年龄: " + age); } public static void main(String[] args) { // 创建 Student 对象 Student student = new Student("Alice", 20); // 使用 Getter 获取信息并显示 System.out.println("姓名:" + student.getName()); System.out.println("年龄:" + student.getAge()); // 使用 Setter 设置年龄,并显示信息 student.setAge(21); System.out.println("修改后的年龄:" + student.getAge()); // 直接访问私有成员变量会导致编译错误 // System.out.println("姓名:" + student.name); // 编译错误 // 使用公共方法显示学生信息 student.displayInfo(); } }
封装用处:
-
在公共访问方法内部添加逻辑判断,过滤掉非法数据,保证数据的安全性。
-
对外界隐藏,在修改时不会引起外界变化。