资讯动态

封装基础知识

发布时间:2026/10/1 11:40:15 来源:尧图企业网站定制
知识点为什么要封装、如何实现封装一、为什么要封装封装把对象的属性和方法放在类的内部隐藏细节只暴露必要入口。1.1 现实例子手机你不需要知道屏幕、电池、芯片怎么工作你只需要使用开机、打电话、拍照等功能。1.2 封装的好处好处说明隐藏细节外部不需要知道类的内部实现提高安全防止外部随意修改数据便于维护修改内部代码不影响外部调用降低耦合类与类之间依赖更少1.3 没有封装的问题如果属性公开外部可以任意赋值数据容易出错。public class Student { public String name; public int age; }public class Test { public static void main(String[] args) { Student s new Student(); s.age -18; // 不合理但能直接修改 } }问题年龄是负数业务上不合理但public属性无法限制。二、如何实现封装2.1 封装的步骤属性使用private修饰对外提供getXxx()方法读取属性对外提供setXxx()方法修改属性在setXxx()中加入条件判断。2.2 代码示例public class Student { // 1. 属性私有化 private String name; private int age; // 2. 提供get方法读取属性 public String getName() { return name; } // 3. 提供set方法修改属性 public void setName(String name) { this.name name; } public int getAge() { return age; } public void setAge(int age) { // 4. 在set方法中加入条件判断 if (age 0 age 120) { this.age age; } else { System.out.println(年龄不合法); } } }public class TestStudent { public static void main(String[] args) { Student s new Student(); s.setName(张三); s.setAge(18); System.out.println(s.getName()); // 张三 System.out.println(s.getAge()); // 18 s.setAge(-18); // 年龄不合法 } }2.3 方法封装除了属性方法也可以封装。public class Student { private String name; public String getName() { return name; } public void setName(String name) { this.name name; } // 对外提供统一入口 public void showInfo() { System.out.println(name); } }三、封装的规范总结成员权限原因属性private防止外部直接修改get/set 方法public对外提供访问入口工具方法private只在类内部使用对外功能方法public方便外部调用本章小结封装目的隐藏内部细节保护数据安全。实现方式属性private提供getXxx()和setXxx()。业务判断在setXxx()中校验数据是否合法。好处安全、清晰、易维护、降低耦合。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑