Java基础

Java基础知识(七)

  • 包装/封装/隐藏
    • (1)为什么需要封装?封装的作用和含义?
    • (2)访问控制符
    • (3)封装要点

包装/封装/隐藏

(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文件中留下任何痕迹,只在编译的时候进行访问控制的检查。其实,通过反射的手段,可以访问任何包下任何类中的成员,例如,访问类中的私有成员也是可以的。

你可能感兴趣的:(Java基础)