【学习Day15】如何做到类和成员的可访问性最小化?

在这里插入图片描述

一、Java访问修饰符

修饰符同一个类同一个包子类任意地方
private
default
protected
public

通过以上表格可以知道一共有四个访问修饰符,其访问范围从小到大顺序排列

二、如何让一个类和属性的可访问性是最小的

  • 可以通过私有构造来控制类的创建,间接的控制类的可访问性
  • 可以通过属性私有化来控制外部直接使用此属性

控制类和属性的访问性有什么好处呢

1.隐藏类内部的实现,更加安全
2.达到类或属性的最小可访问性,那势必要提供别的方法,来操作此类,那么在修改本类属性的时候,就不会改动其使用方

三、对于类和属性可访问的设计

  1. 首先设计出该类需要暴露出来的api,然后将剩下的成员的设计成private类型。然后再其他类需要访问某些private类型的成员时,在删掉private,使其变成包级私有。如果你发现你需要经常这样做,那么就请你重新设计一下这个类的api。
  2. 对于protected类型的成员,作用域是整个系统,所以,能用包访问类型的成员的话就尽量不要使用保护行的成员。
  3. 不能为了测试而将包中的类或者成员变为public类型的,最多只能设置成包级私有类型。
  4. 实例域绝对不能是public类型的。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值