- 博客(10)
- 收藏
- 关注
原创 JavaIO
JavaIOIO分类:输出流和输入流字节流和字符流:InputStream和OutputStream,Writer和Reader处理流和节点流:BufferedInputStream和 BufferedOutputStream,BufferedWriter和BufferedReader ...
2018-09-10 22:57:31 110
原创 原型模式
原型模式我们实现Cloneable接口,但是并没有具体的抽象方法,Cloneable接口的作用只是标识这个类是可以克隆的,具体实现的clone()方法是通过Object对象继承来的。原型模式是一种创建对象的模式。package com.whale.clone;public class AdvTemplate { private String advSubject = "....广告...
2018-09-08 11:49:18 151
原创 代理模式
代理模式Proxy:中间者,可以扩展和组合原来的直接对象的功能。简单代理package com.whale.proxy;public interface ISingger { void sing();}package com.whale.proxy;public class SinggerImp implements ISingger{ @Override p...
2018-09-08 10:18:50 107
原创 建造者模式
建造者模式定义:将复杂的构建和表示分离,使得同样的构建可以创建不同的表示。Director:导演:建立不同的生产的过程。Builder:将产品和它的生产过程装配,返回这个产品。package com.whale;import java.util.ArrayList;public class Director { private ArrayList<String...
2018-09-08 10:18:21 123
原创 模板方法模式
模板方法模式 定义一个操作中的算法的框架,而将一些步骤延迟到子类中,使得子类可以不改变一个算法的结构即可重定义该算法的某些步骤。抽象类:定义了实现类的实现方法,并且定义了一个具体实现方法的步骤(具有固定的逻辑)。实现类:实现具体的方法。package com.whale;public abstract class HummerModel { public abstract ...
2018-09-08 10:17:42 88
原创 工厂模式
工厂方法模式目的是生产对象,分离我们生产不同特点的不同对象。简单工厂 : 用来生产同一等级结构中的任意产品。(不支持拓展增加产品)定义一个产品接口package com.whale;public interface Product { void desc();}实现产品package com.whale;public class ProductA imp...
2018-09-08 10:17:06 94
原创 单例模式
单例模式(singleton )一个类只生成一个对象,大家用也只用这个对象。1 饿汉式 (有线程安全,但是每次使用都会new那个对象,)package com.whale;//饿汉式public class Person { private static final Person instance=new Person(); private Person(){} publi...
2018-09-08 10:16:34 79
原创 《设计模式之禅》
设计模式之禅单一职责原则定义:应该有且仅有一个原因引起类的变化。接口,类,方法:一个方法只做一件事。我们建议接口一定要做到单一职责,类的设计尽量做到只有一个原因引起变化(只有一个接口?)接口的设计要有限度,颗粒度要符合项目。里氏替换原则定义:所有引用基类的地方必须能透明的使用子类的对象。(多态:父类能出现的地方子类就可以出现,并且可以替换为子类)目的:是为了防止子类覆盖...
2018-09-06 14:38:32 253
转载 Comparable,Comparator
public interface Comparable<T>{int compareTo(T o);}接口强行对实现它的每个类的对象进行整体排序。这种排序被称为类的自然排序,类的 compareTo 方法被称为它的自然比较方法。实现此接口的对象列表(和数组)可以通过Collections.sort(new person());.Arrays.sort(new perso...
2018-08-28 15:33:15 82
转载 Hash,HashCode,Equals
Hash:任意长度的输入通过散列函数(hash函数)转化为固定长度的输出(散列值),散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出,所以不可能从散列值来确定唯一的输入值。hash函数是实现功能的一类算法函数。hash表是所有的散列值的组成。HashCode:hashcode是对象的物理地址通过hash函数得到的一个整数值。为什么不直接使用物理地址?hashcode存在的目的...
2018-08-27 23:02:13 95
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人