java基础(第一篇)继承与构成

《心下虞山》

《前序

       
当春的虞山实际是琳琅满目,茂密的花木灌木,花香迷人,齐木高。不时有路过的群鸟,吟一篇歌颂的曲,你只能驻足停留,抬头望然后闭上眼睛,一种植祥和悠悠地因向前抱;或是那位于虞山东南方向半山腰处的瀑布山泉,听在流水击石的声响,那种痛感舒适都无可知形容;最是中老年将落的早晚同样删减绯红映照在打点半单虞山的空中,就像相同长红色带子一样,里面包裹在一本本声泪俱下的古籍,仿佛记载了本人当下过去的时段。

       
虞山当下是深浅数不到头的聚落,它们将虞山基本上围个紧紧,有的近,有的颇为。而自己停的地方正好是离虞山以来底村,这说不定是自身立即极其怀念射的好了吧。

       
说来也飞,我有史以来不曾直达了虞山,就连村子里力气最酷,最勇敢的阿牛也尚无深入了虞山,只是前进了一会,便让长辈老人喝出来,教训一抛锚,言语中载是惊怒。

       
我早已盘算问过村长为什么才于虞山脚下的树林里走,可是获的仍旧是同一顿低声严训。之后我就没再提问过,只是一直对虞山之密抱在同等栽高度的奇异以及追究欲望。

       
不过这些针对自己的话,也并无是生中不得少的有些。我热爱之是虞山之抖,虞山之俏,虞山底宁静祥和。

《自传》一

     
入夜,星光灿烂之天,美轮美奂。看之老了,我会下意识地摸那颗代表逝去亲人的星斗,但往往找到眼睛花了,也是毫无半分线索。那关于人口深去后化作星辰的传言,也即在我心中轰然破灭。

       
当然,这么美的夜,我这么个人是无见面通宵沉沦于这些伤痛的思维中的,我还会见另行错过找寻牛郎织女,去找寻北斗七星……

       
或是哪颗最显,哪颗最远。相对的近期以及极致暗的星球也为会自己收入脑海的物图鉴上。看之麻烦了,我就算回屋喝口和,闭上眼睛休息一会,然后整装待发,再同软
走及本身的追之同。

《自传》二

     
清晨,一特停在自家立即小屋上之略山雀,叽喳叽喳的鸣叫声叫醒了自我。又是您当时仅仅稍微山雀,我乘在其笑着说。我懂地记,它身体非常有些,也就算假设我之指尖般,华丽的羽毛偏爱的覆盖在它们有点如强劲之翎翅上,尾巴上绿油油中带动翠,又闹蓝意的羽毛,实在是受自身生不起气来,只想方虞山本来有这样美的同等止鸟。

       
它像是知自己可怜珍惜虞山之清晨相似,每天准时于自房头叽喳叽喳,开始了她一样上羡煞旁鸟之生。而自自然又是失去光顾虞山底清晨错过矣。

       
走在茵茵绿草的小道上,跨了灌木丛,偶尔还会见到同样广大可爱之微动物,在那边游玩游玩,好不快乐。我来此地是赏景的,而未是赏物的,我这样提醒在温馨,不觉中步伐加快了几瓜分。

       
清晨的虞山,太阳刚刚升起,不过当高大的虞山前面,太阳也不得不露出半张脸。草木上欲滴未取得的露水,映照在阳光,一阵反光,有点刺目,却是充分暖和。前方突然地同勾艳丽的色彩映入眼中,那是哪的美啊。漫山街头巷尾的,只觉目不暇接。娇艳欲滴的英,有红色、黄色、紫色、白色……

     
怎样能屡屡清呢,干脆无错过想了,就省吧。我才走了几许羊肠小道而已,这虞山的时到底发生差不多美啊,再错过思辨,那鸟、那起、那木、那花、那物、那情景不正是宁静祥和的如出一辙帧画卷也。我欢心得慌,此刻恨不得快快走了事虞山当下,好完成就幅烙在心里的画卷。

《自传》三

       
不觉间,已是中午时候。悄悄地太阳爬了了虞山之门,把火热与英雄带来了虞山当下,成片的光明而黄金般洒落于碎石泥土,花草丛木上,灼人目光,却还要于丁怀念如果接近。

     
也许是太阳离的越接近了,光芒越来越强烈,以至于为自家莫思睁开眼睛,只好敞开怀抱,那份灼热的温和就如是在举行同庙梦同,不敢稍动一下,生怕惊醒自己,后悔不已。

     
我怀念立马阳光还很年轻,到处张扬在酷暑,把温馨平套之宏伟照交几乎有的角落。不过太阳好成功,大概没有人不了解太阳是啊吧。

       
此刻自莫继承旅游,而是以一如既往堆乱石中检索了相同片小完整,大点的石头,就地找了一个地方以了下,尽情回味太阳年轻的朝力。我怀念自己现在能够考虑什么为。人生也可能这虞山脚下的树木为什么那么翠绿,还是这虞山的稍动物为何好及最。都想呢,那样挺麻烦吧。不如,我这乘机阳光正好,吟诗作乐,泼墨执笔。又道不可不可,还是坐正闭上眼睛深深呼吸,深深休息一会晤吧。就这么想来想去,我哟吧从来不做,到是日光几乎快了了虞山,这虞山当下又发生了几乎分叉凉意。

《自传》四

       
落日的余晖始终是那么美好,就像夕阳无限好,只是邻近黄昏之悲情感慨,就如本人这儿只是看在,却什么吗不思量说。

       
太阳,真的敌不过时间的,仿佛眨眼间,那个充满火热,光辉的她,就变成了,这个微糊涂,朦朦绯红的圈,旁边还捎带着相同漫漫不红的带子,就好像,就恍如,是要管阳光裹起来。

     
夕阳很得意,我还有啊理由为正啊。看看吧,那边发长达溪流,我可知道虞山即的山涧小潭,可都是清澈见底,碧绿如玉的。我本着小溪望下游走,两岸的花卉格外神采奕奕,溪底的碎石头有点圆圆尖尖的,我确定这是鹅卵石的前身。溪水潺潺的声响,带有虞山生蓄意的风度,安静而温柔。

     
渐渐溪水流的迟滞了,那圆圆尖尖的石块,也差不多是圆圆,没有尖角了。这是自家奋力眺望,果然在邻近看见了一个天生的小潭。我怀念写篇诗文吧,我试着写了句,清潭青绿,玉石生给之,大鱼轻游,小鱼戏波粼,飞来燕鸟,举足养生息。泠泠水声,漫漫入人心。

       
写在写在,竟然迷了,怪就打发景象太过宁静祥与了,正好得矣我心。我思只要无现在做个梦吧,仿佛自己就是止在这边。

       
想着想着,我虽看到了如此同样幅景象。一人口清潭,连在几久蜿蜒的溪;一切开青草,从中生生几基本上聊红花;一仅仅燕鸟,在水上轻飘飘起舞;一水潭鱼儿,来回在水中搜索着波粼嬉戏;不远处有几叫作孩童玩闹,潭对面走来几乎个诗友,旁边一只是傻乎乎的小哈巴狗假装生气……

     
夕阳无限好,只是心疼,时间是无见面停滞不前的,接下注定是傍晚的主场。大梦初醒,就是傍晚,不得不说,这也是定局。就类似,我早明白会这样,故意梦了一样场。难道自己信注定啊。

尾序

       
虞山即,我走过了春之足迹。忽然意会到者刻虞山,不是任何时刻的虞山。虞山的得意是分时截的,虞山入夜的美,是星光璀璨,无半点晦暗;虞山清晨之抖,是花起露滴,太阳初生,朝气散在云林;虞山正午的得意,阳光恰好,光芒散落而推广,又烧又筛;虞山夕阳的美,余晖、潺潺溪语和鱼类戏。

        虞山,是乌呢。

        虞山,那座无不克上的峰,又当哪呢。

        或许,心里所思的,就会停放诗里去。

重写和重载

继承可以针对父类的方进行重写覆盖,而重载的概念并无是累的如出一辙局部,重载是指类本身的计通过参数表的不同进行重载,是编译时多态的落实方式。

推个栗子:

public class A extends B{
    public void method(){

    }
    public void method(int a){

    }
}
public class B{
    public void method(){

    }
}

点的A类继承了B类,其中void
method
主意是父类B所具有的,但是子类对那进展了重写覆盖,这虽是重写。而A类吃的
void method(int a);
则是A类的method方法开展重载。通过措施参数表进行分重载。

另外,静态方法不克还写,因为重写指的凡根据运行时对象的品种来决定调用哪个方法,而无是编译时之,类静态方法是编译时规定的,即使你于子类中定义了一个跟父类一样的静态方法,编译器也未会见报错,从多态的角度看,这并无是指向静态方法的重写,而是子类自己的道。

看个代码就清楚了:

public class Base{
    public static void staticMethod(){
        System.out.println("父类静态方法执行了..");
    }
}

public class Son extends Base{
    public static void staticMethod(){
        System.out.println("子类静态方法执行了..");
    }
}

/*测试类*/
public class Test{
    public static void main(String[] args){
        Base b = new Son();
        b.staticMethod();//1. 
        b = new Base();
        b.staticMethod();//2. 
        Son son = new Son();
        son.staticMethod();//3.
    }
}

运作结果:

运作结果

依实例方法的重写的规律,如果该方法是重写,那么代码第一处于之履行该是推行子类的重写方法,但是事实却未如此。由此看来,子类中扣犹如重写的静态方法实际上不算是一种植重写。

final 关键字

  • 当一个像样应用了final关键字展开修饰时,这个仿佛非容许吃延续
  • 当一个类似的实例方法以了final关键字展开修饰时,这个艺术无容许子类重写。
  • 当一个像样的性能使用了final关键字展开修饰时,这个特性不同意二差赋值,并且极晚要于构造方法中赋值,否则编译器会报错。

protected 关键字图

为了封装性,尽量隐藏对象的性质,会用private关键字修饰,但是这样一来,如果这些性除了对外隐藏外,还同意子类继承访问,那么protected关键字就算派上用场了。

何时用持续,何时用结合

随即应该才是咱关注的题目吧。
当偏下几种植状态以组合:

  1. 子类只待后续父类的均等有,继承就从不办法了。
  2. 而光是为了有父类的局部性质方法,比如汽车有轮胎及总动员引擎,但是一旦为这个继续这有限独八九不离十是杀无明智之,使用组合越来越适宜。
  3. 如若规划之子类是为复用代码,并无是为着扩大父类,那么极端是摘成的法门,因为父类改变会潜移默化子类。对于只有是为复用而延续的好像非常不利于。

啊时候下持续?

  1. 看似中充分明白是同等种植is-a 关系,而无是has-a或者contain-a关系。
  2. 考虑多态时采用持续

另外:

结合优于继承是面向对象设计基准有

然自我觉着也不克如滥用继承一样,一味地运组合,该用继承的上还是持续为帅。

以上是私家意见,可能无净对,如发误,欢迎指教。

累和做的区分(重点)

组合

嘿是组成?给个代码

public class A{
    public void a1(){}
    public void a2(){}
}

public class B{
    private A a = new A();
    public void a1(){
        a.a1();
    }
    public void a2(){
        a.a2();
    }
}

内部B类对A类这种复用的花样就是整合,这个是透过包装和章程转化实现的。

紧接下去讲述组合优缺点

优点

  1. 组成不坏封装,相对于继续
  2. 组合松耦合,包装类及给包裹类彼此独立,不会见以于卷入类突然加个方法就是让包装类多矣一个术,包装类视情况包装所需要方法。
  3. 支持动态构成,组合的点子在运转时好根据规则来选所成的好像。
  4. 包类可经包装改变为包装类的接口,比如吃卷入类是促成了Set接口的,我可以通过包装,让包类实现Map接口。

缺点

  1. 莫克促成多态
  2. 无法自动获得被包装类的接口,比如让打包类实现了Set接口,包装类并不曾活动获取这接口,需要经过包装,才有或与他平的接口。

参考

  • https://www.zhihu.com/question/20128211
  • http://www.cnblogs.com/nuaalfm/archive/2010/04/23/1718453.html

前言

本文讲述上篇稿子《java基础(第零篇)葡京注册赠送88对象和类似》遗留的题目继续和整合的界别,在描述区别前。先讲述继承的关于概念,如果您对连续很知的好直接牵涉到脚阅读继承与整合的分。

连续的风味

  • 子类通过机要字extends 实现对父类的持续
  • 子类只可继续来父类的除私有的性能和艺术,对于确保访问权限的性质和方法就能够给同个包内的子类继承。
  • 构造方法不可知被接续。
  • 静态方法和静态变量可以让连续。
  • java中,类里仅可单继承,即一个接近只能连续一个父类。
  • 接口亦可继承另一个接口,但是接口可以基本上累。
  • 持续的变量和办法可挂。
  • 艺术更写不允许降落访问权限。
  • 继续是紧耦合的。

继承:

优点:

(1) 子类活动连续父类接口,在多态时死便宜
(2) 创建子类时无需创建父类对象

缺点:

(1) 继承破坏封装性

为父类增加了一个方法A,这时子类与父类之间就可能更进一步离is-a
选举个例子:比如,鸟类有羽毛等属性,这里发生一个需要是,定义一个有羽毛的鸡类,采用继承的方式十分优雅也很方便,直接一个extends
就足以实现,但是要发平等天,这个鸟类添加了一个飞的国有方法,此前连续了鸟类的鸡类会自动连续了这个点子,鸡会飞翔?顶多就是是低于距离飞跃。此时吃鸡飞的法就是磨损了鸡的封装性,鸡不应有出其一办法。此时之鸡已经和发展翅行为的飞禽中不是is-a
关系了。

(2) 继承是紧耦合:

连续紧耦合体现在父类变就见面潜移默化子类,此时子类如果用要改,重构的难度可能会见格外高。

(3) 子类对父类的壮大往往会大增系统结构复杂度

此起彼伏树深度加深,结构进一步繁杂。

(4) 不支持以运转时指定父类

(5) 子类不克更改父类的接口

延续是什么?

累是面向对象三分外特色有。子类继承父类的表征和行为,使得子类对象拥有父类的性能和章程。子类亦可扩展其和好之点子。