Java基础

包装/封装/隐藏

(1)为什么需要封装?封装的作用和含义?

  1. 隐藏对象内部的复杂性,只对外公开简单的接口。便于外界调用,从而提高系统的可扩展性、可维护性。
    我们程序设计要追求“高内聚、低耦合”(只提供最简单的接口给别人,内部复杂的细节不给别人看,也不允许别人干预)。高内聚就是内的内部数据操作细节自己完成,不允许外部干涉;低耦合就是仅暴露少量的方法给外部使用。

(2)访问控制符

使用访问控制符,实现封装(类里面就属性和方法两类代码,如何控制可访问性如何封装,由下表决定)
同一个类 同一个包 子类 所有类
private 可以
default缺省 可以 可以
protected 可以 可以 可以
public 可以 可以 可以 可以

(3)封装要点

类的属性的处理:一般使用private(除非本属性确定会让子类继承);提供相应的get/set方法来访问相关属性,这些方法通常是public,从而提供对属性的读取操作。(boolean变量的get方法是is开头);常量或static变量公开。
一些只用于本类的辅助性方法可以用private,希望其它类调用的方法可以用public。
default:默认访问控制属性,什么都没加就是该控制符。有的书上说friendly、package,这都是一个意思,都不能真的写出来,如果什么访问修饰符都不加,就是default/friendly/package。
Java的访问控制是停留在编译层,也就是它不会在.class文件中留下任何痕迹,只在编译的时候进行访问控制的检查。其实,通过反射的手段,可以访问任何包下任何类中的成员,例如,访问类中的私有成员也是可以的。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值