随笔分类 - java
摘要:代理模式定义:为其他对象提供一种代理以控制对这个对象的访问。代理对象起到中介作用,可去掉功能服务或添加额外的服务。常见的几种代理模式:远程代理(为不同地理的对象提供局域网代表对象)虚拟代理(根据需要将资源消耗很大的对象进行延迟,真正需要的时候进行创建)保护代理(权限控制)智能引用代理(火车票代售处)...
阅读全文
摘要:策略模式定义:将可变的部分从程序中抽象分离成算法接口,在该接口下分别封装一系列算法实现,并使它们可以相互替换,从而导致客户端程序独立于算法的改变。 策略模式区别于模板方法模式: - 策略模式强调整体算法,即将整个算法交由用户实现。(采用组合方式) - 模板方法模式强调部分算法,即整体算法不变情...
阅读全文
摘要:适配器分类 1. 组合 采用组合方式的适配器成为**对象适配器**。 特点:把“被适配者”作为一个对象组合到适配器类中,以修改目标接口包装被适配者。 2. 继承 采用继承方式的成为**类适配器**。 特点:通过多重继承不兼容接口,实现对目标接口的匹配,单一的为某个类而实现适配。 作...
阅读全文
摘要:模板方法的实现要素:抽象基类和具体子类。抽象基类:(1)基本方法:共有的方法,用private修饰 (2)抽象方法:只知道原则,不知道具体实现,要延迟到子类中实现,用protected abstract修饰 (3)可选的钩子:具体的子类可以自行决定是否挂钩以及如何挂钩,从而影响算法...
阅读全文
摘要:单例模式两种常用类型:饿汉模式和懒汉模式。饿汉模式:在加载类的时候就创建了对象实例。具体代码如下:public class Singleton { // 1.将构造方法私有化,不允许外部直接创建对象 private Singleton() { } // 2.创建类的唯一实例,使用private...
阅读全文
摘要:Error和Exception的异同点:(1)Error类和Exception类都继承超类Java.lang.Throwable(2)Error:一般指与虚拟机相关的问题,如系统崩溃,内存溢出等。对于这类错误,仅靠程序本身无法恢复和预防,遇到这样的错误,建议让程序终止。 Exception:一般...
阅读全文
摘要:抽象类:(1)abstract关键字只能修饰类和方法,不能修饰字段。(2)抽象类不能被实例化(通俗点讲,不能被new),只能被继承。(3)抽象类可以包含属性,方法,构造方法,初始化块,内部类,枚举类,和普通类一样,普通方法一定要实现,变量可以初始化或不初始化,但是不能初始化后再在抽象类中重新赋值或操...
阅读全文
摘要:简单介绍:1.String类:String的值是不可变的,导致每次对String的操作都会生成新的String对象,不仅效率低下,而且浪费内存空间。2.StringBuffer:StringBuffer的值是可变的,任何对它指向的字符串的操作都不会产生新的对象。3.StringBuilder:和St...
阅读全文
摘要:Java基本数据类型共有八种,大致可以分为三类:第一类(字符类型):char第二类(布尔类型):boolean第三类(数值类型):整数类型:byte,short,int,long /浮点数类型:float,double各基本数据类型对比 基本类型包装类最小值最大值字节数二进制位数bytej...
阅读全文
摘要:1.关于子类方法重写父类方法遵循“两同两小一大”的规则两同:(1)方法名 (2)形参列表两小:(1)子类返回值类型比父类更小或相等 (2)子类声明抛出的异常应比父类小或者相等一大:(1)子类权限比父类大或相等上述的规则都很容易理解:需要注意的是:如何理解子类返回类型比父类更小或相等。相信很多新手跟我...
阅读全文
摘要:简单工厂模式:定义一个简单工厂类,然后把创建对象的功能让它去实现。优点:客户端只负责对对象的调用,从而明确了各个类的职责。缺点:1.由于简单工厂模式是用静态方法来创建对象,静态方法无法被继承。 2.具体对象的增加,会导致需要不断修改工厂类,增加相应的逻辑判断,不利于后期维护。工厂方法模式:该模式解决了简单工厂模式的第二条缺点定义一个工厂接口,然后实现不同的具体工厂类去创建不同的具体对象。优点:客户端只负责对对象的调用,从而明确了各个类的职责。 如果有新的对象加入进来,只需要添加一个具体的对象工厂类和具体的对象类,不会影响原有代码,有利于后期维护。缺点:额外的编写代码,增加了代码量。抽...
阅读全文

浙公网安备 33010602011771号