浅谈Java封装是什么,封装的优点有哪些?

封装

封装的本质:信息的隐藏,禁止直接访问对象的实际数据,通过操作接口来访问

封装体现了程序设计追求高内聚,低耦合的特性

  1. 高内聚:类的内部数据操作自己完成,不允许外部干涉
  2. 低耦合:仅暴露少量的方法给外部使用

如何实现封装

快捷键Alt+Insert 设置Getter和Setter(IDEA中)

  1. private修饰符进行信息的隐藏,让对象的属性私有,无法直接访问
  2. get / set实现操作接口的访问
    1. get 获取被封装的数据
    2. set 设置被封装数据
    3. 一般设置数据都是通过对象.属性赋值,但是封装的对象属性是访问不到的,只能通过set方法的接口实现设置属性。
package com.milkyFog.JavaSE;

public class Package {
    public static void main(String[] args) {
        Person man = new Person();
        man.setName("Tom");//private修饰后的属性,无法man.name获取
        System.out.println(man.getName());
    }
}
class Person{
    private String name;//通过private修饰符封装

    //快捷键Alt+Insert 设置Getter和Setter
    public String getName() {
        return name;
    }
    public void setName(String name) {//这里面可以加if判断,修改不合理的名字
        this.name = name;
    }
}

封装的优点

  1. 当对象的某个属性设置不合理的时候可以通过接口灵活改变
    例如一个人的年龄设置为负数时,通过set的方法设置新的默认值,或者给出提示
  2. 保护数据
  3. 隐藏代码的实现细节
  4. 统一接口

如果有帮助麻烦点个赞呗,这真滴很重要!

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值