定义:
在Java中,所有对象都是一个封装体。把对象的属性和方法结合成一个单独的个体,并尽可能的隐藏对象的内部细节(尤其是私有数据),仅仅对外提供接口(方法)。
原则:
1.把尽可能多的东西隐藏起来,对外提供简捷的接口。
2.把所有的属性隐藏起来。让我们设想一下,在开发过程中,如果我们想计算一个字符串的长度,我们首先会想到String对象的length方法,我们来看一下这个方法在API中的说明。
到此,我们大致知道了这个方法该如何使用,这个length方法就是String对象封装的方法,而String对象只是提供给我们了一个接口。而具体的实现细节,已经被封装到了String对象中。在比如,在工厂模式中,我们只需要告诉工厂我们想要什么,工厂就会给我们什么。而工厂具体是如何制造的,我们并不关心。工厂的制造方法和流程已经被工厂对象封装了起来。
说到封装,就不得不提Java中的访问控制机制。Java提供了一下4中访问控制机制。在此只做简单了解。
范围从小到大以此为:
- private:不对外公开,只能在对象内部访问,访问级别最低。
- 默认:只对同一个包中的类公开。
- protected:只对同一个包中类或者子类公开。
- public:对外公开,访问级别最高。
主要体现:
1.设置对象中的成员变量和方法的访问权限为(public,private,protected,缺省)。
2.提供一个统一供其他类引用的访问接口,如public方法。
3.其他对象不能直接修改本对象所拥有的私有属性和私有方法。