封装:隐藏对象的属性和实现细节,仅对外提供公共访问方式,把该隐藏的隐藏起来,该暴露的暴露出来,这就是封装的设计思想。在Java中通过权限修饰符关键字private、protected和public实现封装。(举个例子,就好比你去银行用银行卡取钱,银行卡的卡号和密码你不想被别人访问到,但是银行卡又提供了存钱,取钱的功能,只有你告诉你家人卡号和密码,你的家人也能使用存钱,取钱的方法。)
封装的意义:
封装把一个对象的属性私有化,同时提供一些可以被外界访问属性的方法,如果不想被外界访问,我们大可不必提供方法给外界访问。但是如果一个类没有提供给外界访问的方法,那么这个类也没有什么意义了。
封装提供了一个有效的途径来保护数据不被意外的破坏。相比我们将数据(用域来实现)在程序中定义为公用的(public)我们将它们(fields)定义为私有的(private)在很多方面会更好。私有的数据可以用两种方式来间接的控制。第一种方法,我们使用传统的存、取方法。第二种方法我们用属性(property),使用属性不仅可以控制存取数据的合法性,同时也提供了“读写”、“只读”、“只写”灵活的操作方法。