浅谈Java三大特性

Java三大特性想必你们都不陌生:封装、继承以及多态。不少刚接触Java的小伙伴都会想,它们到底有什么了不起之处,又赋予Java这门编程语言什么魔力呢?今天咱们来探讨一下吧~~编程

首先,名词解释:网络

封装,便是隐藏一切可隐藏的东西,对外界只提供最简单的编程接口。好比,在一个类中,把数据和操做方法绑定起来,对数据的访问只能经过这些 get/set 方法(又称为接口)来实现。编程语言

为何封装?好比,我是一个厨师,我有一本食谱,你今天想吃肉,让我帮忙露两手。具体加了多少盐,放了多少醋你不须要关心(隐藏具体实现过程),你只管提出需求,我帮你实现(提供服务,即接口)。spa

继承,从已有类获得继承信息建立新类的过程。提供信息的叫父类(超类、基类),获得继承信息的叫子类(派生类)。既保证了延续性,又能实现可变性。对象

为何继承?好比,我是一个厨师,厨艺高绝天下,你是我儿子,你天然要获得个人真传(继承父类的信息)。但是,有一天,你说你想去唱去跳去打篮球(实现可变)。儿子长大了,理应去追逐你本身的舞台,当爹的固然支持你(继承的优势展露无遗)。继承

多态:容许不一样子类型对象对同一消息作出不一样响应,即,用一样的对象,调用一样的方法,可是作了不一样的事情。分为编译时多态(如:方法重载,同一个方法实现多个不一样的逻辑,并能够在同一个类中实现。其实现的原理是,方法名相同,参数的个数或者类型不一样)和运行时多态(如:方法重写,一个类中不可能两个定义同样的方法。所以,重写就是子类对父类定义的方法从新实现一次)。接口

为何多态?好比,我是一个厨师,今天炒一道番茄鸡蛋,以往炒这道菜我会加入小葱和老姜作配料增香,可是今天小葱被隔壁老王借走了,那么我炒菜的时候就没加葱(参数个数不一样),但这道菜仍是番茄炒蛋(编译时多态);大儿子吃的很不满意,决定去老李家菜地里偷点葱,回来从新炒一个番茄炒蛋,配料虽然齐了,可是火候太大,炒糊了;你也不开心了,内心想着:大家都不行,让我来。因而把剩下的葱都拿去炒菜了,此次火候小了一点,番茄的口感和鸡蛋没有融合在一块儿,不过本质上和你哥哥炒的同样都是一道番茄炒蛋(方法重写)。get

好了,Java三大特性就总结到这,若是有人跟你抬杠,说Java不是应该有四大特性么?你千万不要以为人家是在为难你胖虎,由于,抽象也能算半个,只是日常淡出了你们的视线。编译

那么,什么是抽象呢?抽象就是将一类对象的共同特征总结出来,而后去构造类的过程(人类,特征?不详!)。包括数据抽象(手,足等??)和行为抽象(吃饭、睡觉)两方面,而抽象只关注对象有哪些属性和行为,并不关注这些行为的细节是什么(只须要关注人类有吃饭这个属性便可,不须要关注用左手仍是右手)。原理

谈完人类,内心面大约会有一丢丢小疑问,人的数据抽象是手足等特征么,那么缺失了手足的残疾人士就不属于人类了么?我以为这个问题很是棒,首先,一我的的本质特征必定不是手足五官等外在形态。这时候就会有小伙伴来抬杠了:啥意思,你见到一我的,不是凭借外貌来辨别他们的么?对的,咱们熟悉一我的,不少时候都会从外貌、声音等明显特征来识别,但如果他们戴着网络的面具,并且也没有和你说话,那么你是如何判断这到底是不是咱们熟悉的那我的呢?

因此,你们认为,人类的数据抽象究竟是什么呢?

相关文章
相关标签/搜索