• 转行小白成长路-java篇


    第7章:复用类

      复用就是字面上的意思,重复使用。这是为了减少重复开发,提高效率,效率是非常重要的。于是提出来了组合、复用和代理。

      先说代理,就是基本上把原有的对象复制了一遍包装上,还是在组合的基础上,操作的,感觉一点也没有提高效率,但是相比之下灵活性是很好。因为可以根据需要选择想要的,也就是有在总集中选择子集的权利。就像我最近找工作时遇到外派一样,外派公司代理自己找工作,就是代理啊,根据他们的需要包装,然后推出去。

      组合,是指在一类对象绑定另一类对象,单向绑定。具体的实现应该是与import有极大的关系,通过import关联相关类,这个时候便会加载一次该类的文件。static相关的应该也是在这个时候开始初始化的。它的底层应该就像昨天的class文件内容一样,在构造器结束前完成初始化关联的对象,然后将引用放入新对象的成员变量中。最后将新对象 的引用存入栈中。

      继承,是基类“共享”一部分信息。其本质也是将引用复制到子对象中,但是java将父子类之间的界限划分的还是挺明显的,父类只能修改父类中的数据,子类只能修改子类中的数据。protected就是专门用来针对继承设置的,但是组合相比于继承更加便利,这真是奇怪,大力气设计了继承,到头来更提倡组合。

      有复用就要有禁止复用,这个禁止主要针对继承,又是继承,真搞不懂。主要使用final的目的1:为了有个编译时的常量;2.初始化后不希望改变的值。它主要用来修饰变量,其实也就是引用的相关内容。但是引用对象的部分的数据还是可以修改的,这就引出来,如果是空final,可以有一次赋值机会,在初始化的时候又一次机会。

      复用代码是java众多引人注目的功能之一。但想要称为极具革命性的语言,仅仅能够复制代码并对之加以改变是不够的,它还必须能够做更多的事。

  • 相关阅读:
    好听的歌 好音乐
    dubbox编译
    [HDU3038]How Many Answers Are Wrong(并查集)
    [POJ1733]Parity game(并查集 + 离散化)
    [POJ1703]Find them, Catch them(并查集)
    [luoguP2024] 食物链(并查集)
    [luoguP3355] 骑士共存问题(二分图最大独立集)
    火星探险问题
    [CODEVS1917] 深海机器人问题(最小费用最大流)
    [CODEVS1916] 负载平衡问题(最小费用最大流)
  • 原文地址:https://www.cnblogs.com/aiwin/p/12363971.html
Copyright © 2020-2023  润新知