易截截图软件、单文件、免安装、纯绿色、仅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
*


相关文档:

Map、Set、Iterator迭代详解与Java平台的集合框架

Map、Set、Iterator迭代详解
Map接口定义了四种类型的方法,每个Map都包含这些方法。
equals(Object o)比较指定对象与此Map的等价性。
hashCode()返回此Map的哈希码。
Map定义了几个用于插放和删除元素的变换方法。
remove(Object key) 从Map中删除键和关联的值。
put(object key,Object value) 将指定值与指定键相关 ......

Hibernate 之父:是时候升级到 Java EE 6 了!

Hibernate
之父 Gavin King[1]建议开发者升级到 Java EE 6 平台,并指出了一些不愿意升级的观点其实是没有根据的。
     Java EE 6 发布后,我看到了很多反对升级到新平台的观点。这些反对观点大多是由 Tomcat
/ Jetty 以及一些开源框架(例如 Hibernate 与 Spring)的使用者提出。
  
&n ......

Java线程讲解

一 线程的基本概念
线程是一个程序内部的顺序控制流.一个进程相当于一个任务,一个线程相当于一个任务中的一条执行路径.
多进程:在操作系统中能同时运行多个任务(程序)
多线程:在同一个应用程序中有多个顺序流同时执行
Java的线程是通过java.lang.Thread类来实现的
JVM启动时会有一个由主方法(public static void main( ......

java和。net之间的互操作

.net网站theserverside.com上,有一篇讲.net和java互操作的文章,收集了net和java互操作性的文章精选
[url]http://www.theserverside.net/tt/articles/showarticle.tss?id=InteropGuide[/url]
In the heterogeneous world of enterprise computing, interoperability is no longer a luxury but a necessity. The multip ......

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号