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

java 简单工厂设计模式

先写程序,在来解释简单工厂和工厂方法模式。
1、定义一个汽车接口
package com.beckham.factory;
/**
* @author 作者<Beckham>
* Email:gaowm0207@gmail.com
* Jan 26, 2010 2:35:15 PM
* Version:1.0
*/
public interface Car {
public void start() ;
}

接口里面定义一个方法:start()
2、实现该接口的汽车
奔驰
package com.beckham.factory;
/**
* @author 作者<Beckham>
* Email:gaowm0207@gmail.com
* Jan 26, 2010 3:07:25 PM
* Version:1.0
*/
public class Benz implements Car {
public void start() {
System.out.println("奔驰车启动了。。。。");
}
}

奥迪
package com.beckham.factory;
/**
* @author 作者<Beckham>
* Email:gaowm0207@gmail.com
* Jan 26, 2010 3:07:46 PM
* Version:1.0
*/
public class Audi implements Car {
public void start() {
System.out.println("奥迪车启动了。。。。。。");
}
}

到此,已经有2种汽车实现了汽车接口
package com.beckham.factory;
public class Test {
/**
* Owner
* Jan 26, 2010 2:37:11 PM
* @throws Exception
*/
public static void main(String[] args) throws Exception {


Car c = new Benz() ;
//Car c = new Audi() ;
c.start() ;

}
}

我们可以通过自己new不同的对象,从而创建不同对象的实例调用共同的start方法。
这是我们就会想,是不是可以把产生汽车的过程放在一个工厂里面,而我们调用的时候只需要告诉工厂我们需要哪种汽车,工厂就返回给我们该汽车呢?那么我们就创建该工厂。
package com.beckham.factory;
/**
* @author 作者<Beckham>
* Email:gaowm0207@gmail.com
* Jan 26, 2010 2:49:46 PM
* Version:1.0
*/
public class CarFactory {

/*
* carName 就是需要工厂产生的对象
* 通过反射机制来获取该对象的实例
*/
public static Car getInstance(String carName) throws Exception {
return (Car) Class.forName(carName).newInstance();
}
}

工厂接受传递过来的汽车的名称,返回该汽车的实例
package com.beckham.factory;
public class Test {
/**
* Owner
* Jan 26, 2010 2:37:11 PM
*


相关文档:

Java中调用C/C++生成的DLL

Java中调用C/C++生成的DLL
一、 生成C的头文件
  1. 编辑Main.java
 public class Main
  {
  public native static int getStrNum(byte str[], int strLen);
  }
  2. 生成头文件
  按win + r打开“运行”窗口,输入“cmd”,打开 ......

Delphi时间和Java时间的转换类。

这样一来,Delphi使用Webservice和JAVA通讯时,可以将DELPHI的时间直接传给JAVA。从而免去了时间字符串parse之间的消耗,提高的程序效率。
Delphi时间实质就是double类型,整数部分表示天,小数部分表示当天时间,每毫秒为1/86400000。考虑到时区的转换后,JAVA和DELPHI时间之间的转换类如下:
import java.util.Calendar ......

Java如何每5秒生成一个随机数


import java.util.Random;   
import java.util.Timer;   
import java.util.TimerTask;   
  
/**  
 * Java如何每5秒生成一个随机数  
 *   
 * @author Java人(java2000.net)  
 */&nbs ......

JAVA规范学习——static成员初始化

class Super { static int taxi = 1729; }
class Sub extends Super {
static { System.out.print("Sub "); }
}
class Test {
public static void main(String[] args) {
System.out.println(Sub.taxi);
}
}
输出:1729
知识要点:
A reference to a class field causes initialization of ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号