`

简单工厂Factory

阅读更多
package net.util;
/**
 * @项目名:spring2.5
 * @包名:net.util
 * @文件名:FactoryDemo.java
 * @日期:Jun 21, 2011 4:37:02 PM
 * @备注:工厂模式
 * @作者:apple
 */
public class FactoryDemo {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Car c=Factory.getCarInstance("Banz");
		if(c!=null){
			c.run();
			c.stop();
		}
		else{
			System.out.println("制造不了");
		}
		
	}

}

class Factory{
	public static Car getCarInstance(String type){
		Car c=null;
		try {
			c=(Car)Class.forName("net.util."+type).newInstance();
		} catch (InstantiationException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IllegalAccessException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (ClassNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return c;
	}
}

interface  Car{
	public void run();
	public void stop();
}

class Banz implements Car{

	public void run() {
		// TODO Auto-generated method stub
		System.out.println("Banz跑");
	}

	public void stop() {
		// TODO Auto-generated method stub
		System.out.println("Banz停");
	}
	
}

class Ford implements Car{

	public void run() {
		// TODO Auto-generated method stub
		System.out.println("Ford跑");
	}

	public void stop() {
		// TODO Auto-generated method stub
		System.out.println("Ford停");
	}
	
}

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics