摘要: 以某个对象为原型,克隆出新的对象。克隆出的新对象不会影响原型对象。 要实现克隆要实现Cloneable接口和clone()方法 注意:clone() 是Object类的本地方法(效率高) Cloneable只是一个空接口,但是想要克隆,必须实现Cloneable接口 栗子: 这种克隆属于浅克隆: 仅 阅读全文
posted @ 2019-06-03 19:19 DDiamondd 阅读(248) 评论(0) 推荐(0) 编辑
摘要: 使得创建者与调用者分离 三种实现方式: 简单工厂模式: 是根据不同的参数返回不同的实例,只有一个工厂。如果增加新的产品,会修改原来的代码,所以不完全满足OCP原则。 工厂方法模式: 不同的产品有不同的工厂(有一个总的工厂的接口) 抽象工厂模式:(拥有多个产品类型,有多个产品接口) 用来生产不同产品族 阅读全文
posted @ 2019-06-03 17:42 DDiamondd 阅读(262) 评论(0) 推荐(0) 编辑
摘要: 看的视频:https://www.bilibili.com/video/av43896218/?p=286 实现方式:(构造器私有,提供一个外部可以访问的方法(可以提供实例)) 1、饿汉式:线程安全,调用效率高, 不能延时加载 2、懒汉式:线程安全,调用效率不高,可以延时加载(要用的时候才加载 ) 阅读全文
posted @ 2019-06-03 12:03 DDiamondd 阅读(533) 评论(0) 推荐(0) 编辑
摘要: 看的视频: https://www.bilibili.com/video/av38508006/?p=294 面向对象设计的六大原则:https://www.cnblogs.com/DDiamondd/p/11355847.html GOF23 : group of four 四个大神总结出的23种 阅读全文
posted @ 2019-06-03 10:14 DDiamondd 阅读(166) 评论(0) 推荐(0) 编辑
摘要: 见代码 String 是一个比较特殊的类(str01: static final 修饰的变量不可变 , “abc”这个字符串也不可变) 阅读全文
posted @ 2019-06-03 09:06 DDiamondd 阅读(519) 评论(0) 推荐(0) 编辑
TOP