温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

java封装有哪些特性

发布时间:2026-10-26 20:22:28 来源:亿速云 阅读:95 作者:小樊 栏目:编程语言

在 Java 中,封装(Encapsulation)是面向对象编程(OOP)的三大特性之一(封装、继承、多态)。它的核心思想是隐藏对象的内部实现细节,只暴露必要的访问接口,从而提高代码的安全性、可维护性和可扩展性。

Java 封装主要具有以下特性和表现:


1. 属性私有化(核心特征)

  • 使用 private 修饰成员变量(属性)
  • 禁止外部直接访问对象内部数据
public class Student {
    private String name;
    private int age;
}

2. 提供公共访问方法(getter / setter)

  • 通过 public 的 getXxx() 和 setXxx() 方法访问和修改属性
  • 控制读写权限
public String getName() {
    return name;
}

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

3. 对数据进行合法性校验

  • 在 setter 方法中加入业务逻辑判断
  • 防止非法数据进入对象
public void setAge(int age) {
    if (age > 0 && age < 150) {
        this.age = age;
    } else {
        throw new IllegalArgumentException("年龄不合法");
    }
}

4. 隐藏实现细节

  • 外部只需要知道“能做什么”,不需要知道“怎么做的”
  • 方法内部逻辑可自由修改,不影响调用者
public void study() {
    // 内部逻辑可随时修改
}

5. 访问修饰符控制可见性

Java 提供四种访问控制级别,支撑封装:

修饰符 同类 同包 子类 任意
private ✅ ❌ ❌ ❌
默认 ✅ ✅ ❌ ❌
protected ✅ ✅ ✅ ❌
public ✅ ✅ ✅ ✅

6. 提高安全性和可维护性

  • 防止对象状态被随意破坏
  • 修改内部实现不影响外部代码
  • 降低模块之间的耦合度

7. 封装不仅局限于属性

  • 方法也可以封装(私有方法)
  • 构造方法、工具类、API 设计都体现封装思想
private void log() {
    // 内部使用
}

总结一句话

Java 封装 = 私有属性 + 公共方法 + 访问控制 + 逻辑保护

如果你愿意,我也可以用生活例子或面试回答版再帮你总结一份。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI
助
手