
java优雅之路
from_lazy_boy
热爱技术与分享...
展开
-
写优雅代码之聊一聊继承
继承:继承代表"一般化/特殊化"关系,其中基类代表一般,而衍生类代表特殊,衍生类将基类特殊化或扩展化. 满足以下全部条件,才应当使用继承关系 a.子类是超类的一个特殊种类,而不是超类的一个角色,也就是要区分"Has A"与"Is A"两种关系的不同.Has A关系应当使用聚合关系描述,而只有Is A关系才符合继承关系. b.永远不会出现需要将子类换成另一个类的子类的情况.如果设计师不是很肯定原创 2016-09-30 20:32:02 · 341 阅读 · 0 评论 -
写优雅代码之容器思想
spring容器: 1.在spring容器中配置需要管理的Bean 2.配置好Bean与Bean之间的依赖关系 Ioc的原理: 1.通过IOC可以降低耦合,把耦合关系从代码中移出去,放到统一的xml文件中 2.通过IOC容器来管理对象的生命周期,依赖关系等,从而使得应用程序的配置和依赖性规范与实际的运用程序代码分开. 其中的一个特点就是通过文本的配置文件进行运用程序组件间相互原创 2016-09-30 23:42:57 · 524 阅读 · 0 评论 -
写优雅代码之聊一聊接口3
接口中可以定义什么? 1.接口里可以定义抽象方法 2.接口里可以定义常量 java具有单继承多实现的特点,有没有多继承的特点? 1.java中的接口是可以多继承的 2.这种继承关系能够使子类接口的功能增强,因为类可以向上转型,持有接口,就可以得到实现类的引用,故而调用到实现类中的方法原创 2017-08-17 21:58:06 · 261 阅读 · 0 评论 -
写优雅代码之聊一聊抽象类2
抽象类在设计模式中最明显的体现就是模板方法模式,除此之外,通过阅读spring的源码,还发现一个有趣的用法 1.抽象类可以实现接口中的部分方法,对于不实现的方法,可以继承抽象下去,例如 在该继承链中, InputStreamSource, Resource是一个接口(Resource接口继承了InputStreamSource,功力大增,实现类可以向上转型嘛), AbstractR原创 2017-08-17 23:00:42 · 424 阅读 · 0 评论 -
写优雅代码之聊一聊继承2
在阅读spring源码的时候,发现了一个关于继承的非常有意思的现象,按照常理,在继承链上,子类是完全继承了父类的方法的.那么使用super关键字调用父类的时候,会首先调用到它的直接父类中.但有一种情况,子类没有override父类的某个方法,会导致子类直接调用到它的超类中,我写了一个demo,先来看一下继承图 从继承图中,我们可以看到,儿子继承男人,男人继承人. 接下来我们来定义Peo原创 2017-08-19 01:10:13 · 288 阅读 · 0 评论 -
写优雅代码之聊一聊多肽
多肽是面向对象程序设计里的核心,理解了多肽,就理解了面向对象设计的实质,同时,多肽最大的亮点可以说为我们带来了扩展性,这就是面向对象程序设计的精华 多肽的3个特性: 1.有继承 2.有方法的重写 3.有父类的引用指向了子类对象原创 2017-08-15 22:17:33 · 494 阅读 · 0 评论 -
写优雅代码之聊一聊接口2
读spring的源码,一直有一个困扰我的问题,看一些类图的时候,只有一条继承主线,但某些类却有实现多个接口的用法,比如下面的类图 我们看一下AbstractRefreshableConfigApplicationContext这个抽象类,它是这样一种关系 public abstract class AbstractRefreshableConfigApplicationContext原创 2017-08-15 23:25:32 · 301 阅读 · 0 评论