摘要:
生成器是一种专门负责创建对象的类,实际上这是工厂方法设计模式的一种应用, 当时用生成器创建对象时,它不需要任何参数,而工厂方法一般需要参数。import java.util.Iterator;import java.util.Random;//一般来说一个生成器只定义一个方法,该方法用以产生新的对象interface Generator { public T next();}//一个继承体系class Coffee { private static long counter = 0; private final long id = counter++; @Override public St. 阅读全文
摘要:
代理模式代理模式是常用的java设计模式,他的特征是代理类与委托类有同样的接口,代理类主要负责为委托类预处理消息、过滤消息、把消息转发给委托类,以及事后处理消息等。代理类与委托类之间通常会存在关联关系,一个代理类的对象与一个委托类的对象关联,代理类的对象本身并不真正实现服务,而是通过调用委托类的对象的相关方法,来提供特定的服务。按照代理的创建时期,代理类可以分为两种。静态代理:由程序员创建或特定工具自动生成源代码,再对其编译。在程序运行前,代理类的.class文件就已经存在了。动态代理:在程序运行时,运用反射机制动态创建而成。静态代理:interface IBase{ public void 阅读全文
摘要:
什么是反射在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。反射有什么用1,在运行时判断任意一个对象所属的类;2,在运行时构造任意一个类的对象;3,在运行时判断任意一个类所具有的成员变量和方法;4,在运行时调用任意一个对象的方法;5,生成动态代理。实现Java反射的类1)Class:它表示正在运行的Java应用程序中的类和接口2)Field:提供有关类或接口的属性信息,以及对它的动态访问权限3)Constructor:提供关于类的单个构造方法的信息以及对它 阅读全文