Java 封装详解

Java 封装详解

Java 封装详解

封装是 Java 面向对象编程(OOP)的三大核心特性(封装、继承、多态)之一,其核心思想是隐藏对象的属性和实现细节,仅通过公共接口对外暴露必要的操作,从而实现数据安全和代码模块化。

一、什么是封装?

封装(Encapsulation)可以理解为 “包装”:将对象的状态(属性)和行为(方法)捆绑在一起,通过访问控制符限制外部直接访问内部细节,只允许通过预定义的方法与对象交互。

举例:现实中的 “手机” 就是封装的典型案例 —— 用户无需知道内部芯片、电路的工作原理(隐藏细节),只需通过屏幕、按键等接口(公共方法)操作手机(打电话、发消息)。

二、为什么需要封装?

数据安全:防止外部随意修改对象属性,避免不合理的值(如年龄为负数)。

隐藏实现细节:外部只需关注 “如何用”,无需知道 “如何实现”(如调用ArrayList的add()方法时,无需了解底层数组扩容逻辑)。

代码可维护性:内部实现修改时(如属性存储方式变化),只要公共接口不变,外部代码无需调整。

三、如何实现封装?

Java 通过访问控制符和公共方法实现封装,步骤如下:

用private修饰属性(隐藏属性,禁止外部直接访问);

提供public的getter方法(用于获取属性值)和setter方法(用于修改属性值);

在setter方法中添加逻辑验证(如限制值的范围)。

四、核心:访问控制符的作用

Java 通过 4 种访问控制符控制访问权限,封装的关键是合理使用private和public:

修饰符同一类中同一包中不同包的子类不同包的非子类用途

private

✔️

隐藏属性 / 内部方法

default

✔️

✔️

包内可见(默认,不写)

protected

✔️

✔️

✔️

允许子类访问

public

✔️

✔️

✔️

✔️

对外暴露的公共接口

封装原则:属性通常用private,公共方法用public,内部辅助方法用private。

五、封装的高级应用:JavaBean 规范

JavaBean 是封装的典型实践,它是一种遵循特定规范的类:

类是public的,有无参构造方法;

属性用private修饰;

提供public的getter/setter(布尔类型的getter通常命名为isXxx())。

public class User {

private String username;

private boolean isVip; // 布尔属性

// 无参构造

public User() {}

// getter/setter

public String getUsername() { return username; }

public void setUsername(String username) { this.username = username; }

// 布尔属性的getter用isXxx()

public boolean isVip() { return isVip; }

public void setVip(boolean vip) { isVip = vip; }

}

JavaBean 广泛用于框架(如 Spring、MyBatis)中,便于数据传递和序列化。

六、总结

封装的核心是 “隐藏细节,暴露接口”,通过:

private修饰属性,阻止外部直接修改;

public的getter/setter控制访问,添加验证;

访问控制符合理搭配,实现安全与灵活的平衡。

掌握封装是编写健壮、可维护 Java 代码的基础,也是理解后续继承、多态的前提

posted on

2025-08-11 10:30

coding博客

阅读(81)

评论(0)

收藏

举报

相关推荐

1月22日是什么星座 水瓶座性格特点
365bet体育在线投

1月22日是什么星座 水瓶座性格特点

📅 07-09 👁️ 6627
2023斯诺克世锦赛施工现场,新赞助商布局让人耳目一新
电子发票系统打印不出来 电子发票打印不出来怎么办?一招解决!