关于java的封装的概念,很多初学的人不是很了解,我就专门用这篇文章来描述下封装.
封装就是一个动作,它的意思就是将一个事物的属性以及方法全部抽象,然后丢进一个类里面比如说:
我们将车的属性(color,count)以及方法(run)放入Car这个类中,那么我们这个行为就叫做将车这个对象封装进了Car类中..这就是封装. 再举个列子:
同上,我们将人的属性(old,weight,height)以及方法(eat,sleep)放入Person类中.这个行为描述起来就是:将人这个对象封装进了Person类中.
既然已经说完封装,我在谈谈封装的好处:
1.可以对成员进行更精确的控制。
2.隐藏信息,实现细节
我再举个列子说明下封装的用处:
就拿我们经常用的电脑来说,我们看到的电脑是不是就是一个整体?每个零件都被装进了一个盒子(机箱)里面,我们要使用的话直接按机箱上面的开机键就是.但是,如果电脑不进行封装呢?那么我们买电脑就只能买到零件,还要自己组装起来,听着就头疼.生活中封装的例子到处都是..这里就不在说明了.
现在关键的地方就来了,我们使用电脑的时候有必要对电脑里面的零件进行操作吗?
当然没有必要,计算机厂商生产电脑的时候只需要设置几个对外公开的方法(比如开机键)就OK了,像什么显卡的运行啊,网卡啊,开机的方法啊都已经已经在机箱里面实现了,我们平时用电脑的时候按一下开机键就OK了.所以我们设计程序的时候也是一样的,功能我们自己实现就是了,至于怎么实现的需要暴露出去吗?设置几个对外公开的方法给客户用就OK了嘛.
OK,讲到这里我们就要提到两个关键字了:private public
private就是将我们所用来修饰的东西私有化,不需要别人看到,而public就是将修饰的东西公有化,然所有人都能过看到,举个例:
比如说电脑里面声卡,网卡显卡怎么运行的,我们需要知道吗?完全就不需要嘛,厂商也是这么想的,所以厂商就只暴露出一个方法,就是开机键,只要我们按了开机键,那么网卡啊,声卡啊,显卡不就自动运行了嘛.因此声卡,网卡以及显卡就用private修饰,表示不需要将其运行方式暴露出来(藏在机箱里面).就把开机键(power)设置成public(开机键就放在机箱外部),这样用户使用电脑的时候就可以用开机键来启动电脑了.private修饰的属性就是不允许外部访问的,而public修饰的东西可以被外部访问.