易截截图软件、单文件、免安装、纯绿色、仅160KB

《Java与模式》选读“原始模型(Prototype)模式”

这本书详细讲解了模式理论的由来(很多人可能不知道模式理论与中国道家思想的渊源),面向对象的软件设计原则,一直讲到二十几个设计模式,以及这些模式在Java语言中的实现等等。书中给出了大量来自华尔街系统的真实项目的例子,用来讲解设计模式在系统设计中的应用。 这本书处于理论和实践之间,是一本定位独特、风格独特的书。希望各位喜欢。 阎宏 javapatterns@yahoo.com www.WebEndsHere.com 原始模型模式属于对象的创建模式[GOF95]。通过给出一个原型对象来指明所要创建的对象的类型,然后用复制这个原型对象的办法创建出更多同类型的对象。这就是原始模型模式的用意。 从孙大圣的手段谈起 --------------------- 孙悟空在与黄风怪的战斗中,“使一个身外身的手段:把毫毛揪下一把,用口嚼得粉碎,望上一喷,叫声‘变!’变有百十个行者,都是一样打扮,各执一根铁棒,把那怪围在空中。” 换言之,孙悟空可以根据自己的形像,复制出很多“身外之身”来。 老孙的这种身外身的手段在面向对象的设计领域里,叫做原始模型(Prototype)模式。 Java语言的构件模型直接支持原始模型模式。所有的JavaBean都继承自java.lang.Object,而Object类提供一个clone()方法,可以将一个JavaBean对象复制一份;但是这个JavaBean必须实现一个标示接口Cloneable表明这个JavaBean支持复制。如果一个对象没有实现这个接口而调用clone()方法,Java编译器会抛出CloneNotSupportedException异常。(关于标示接口的概念及相关讨论,请见本书的“专题:Java接口”一章。) Java的所有类都是从java.lang.Object类继承而来;而Object类提供下面的方法对对象进行复制: protected Object clone() 子类当然也可以把这个方法置换掉,提供满足自己需要的复制方法。对象的复制有一个基本问题,就是对象通常都有对其它的对象的引用;当使用Object类的clone()方法来复制一个对象时,此对象对其它对象的引用也同时会被复制一份。 Java语言提供的Cloneable接口只起一个作用,就是在运行时期通知Java虚拟机可以安全地在这个类上使用clone()方法。通过调用这个clone()方法可以得到一个对象的复制。由于Object类本身并不实现Cloneable接口,因此如果所考虑的类没有实现Cloneable接口时,调用clone()方法会抛出CloneNotSupportedException异常。 系统可以在自己的类里面置换掉java.lang.Object提供的clone()方法,以便控制复制的过程。 克隆满足的


相关文档:

Java的main方法与类的加载的联系

鉴于许多同学对这个main方法的迷惑!我这里提供一些意见,希望对大家有帮助!呵呵!
     ****我们说加载先:
      Java的类是用到才开始加载的,并且在每个类的构造器调用之前,类的每个域(成员变量)都要首先被编译器初始化一次,然后才轮到构造器来干活儿。但是,Java ......

给大家写一个java的简单的栈


import  java.util.*;
public class stack
{
         private List list=new ArrayList();
         private int index=0;
        public void push(Object obj)
   & ......

Java计时器编程


===================================TimerTask======================================= 
import java.util.TimerTask;  
import java.util.Calendar;  
public class MyTask extends TimerTask 
{  
    private ......

java动态代理

 
动态代理是指客户通过代理类来调用其它对象的方法
动态代理使用场合:

远程方法调用(RMI)

 
1.创建一个实现接口InvocationHandler的类,它必须实现invoke方法
2.创建被代理的类以及接口
3.通过Proxy的静态方法
newProxyInstance(ClassLoader loader, Class[] interfaces, Invocat ......

解析Java中的File类

File(文件类)
        尽管java.io定义的大多数类是实行流式操作的,File类不是。它直接处理文件和文件系统。也就是说,File类没有指定信息怎样从文件读取或向文件存储;它描述了文件本身的属性。File对象用来获取或处理与磁盘文件相关的信息,例如权限,时间,日期和目录路径。此外 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号