对Java封装的一个理解

真正的封装是什么意思
  1. 封装意味着对象的属性值是不能够改变的。
  2. 一旦需要改变一个对象的值,那么就违背了封装的原则。
封装的属性理解
  1. 使用setter方法是因为想修改它的值。
  2. 使用getter方法是因为想获取它的值。
  3. 所以,当我设计一个属性的时候,我需要思考此属性的值我要不要修改。如果需要修改,我们就需要生成属性的setter方法。只是修改的不是原来对象的值,而是我们深拷贝这个对象,并在这个副本对象上进行操作,这样就保证了原来的对象的封装性。
保证封装性的一个做法

因为修改值是一定会发生的,所以我修改它的一份深拷贝的值,这样保证原来的对象没有任何变化,以此来保证真正的封装性。

Java是怎样保证值不变的
  1. 使用final关键字修饰属性。
  2. 为属性提供getter方法,不提供setter方法。
小结
  1. 封装说的是对象的属性值是不可变的。
  2. 采用深拷贝方式来保证封装性。
  3. 为属性只设置getter方法来保证封装性。
  4. 采用final修饰属性来保证封装性。
  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值