静态工厂模式(简单工厂模式)用来实例化目标类的静态类 class.forname("包.类名")要求JVM查找并加载指定的类,并返回这个类,Class.forName("("包.类名").newInstance();表返回这个类的实例。
- package factoryDemo;
- //接口..............................
- interface Car3{
- public void run();
- public void stop();
- }
- //Benz3类..............................
- class Benz3 implements Car3{
- public void run() {
- System.out.println("Benz running....");
- }
- public void stop() {
- System.out.println("Benz stop.....");
- }
- }
- //Ford3类..............................
- class Ford3 implements Car3{
- public void run() {
- System.out.println("Ford running....");
- }
- public void stop() {
- System.out.println("Ford stop.....");
- }
- }
- //工程类..............................
- class Factory3{
- public static Car3 getInstance(String type){
- Car3 c3=null;
- try {
- c3=(Car3)Class.forName("factoryDemo."+type).newInstance();
- } catch (InstantiationException e) {
- e.printStackTrace();
- } catch (IllegalAccessException e) {
- e.printStackTrace();
- } catch (ClassNotFoundException e) {
- e.printStackTrace();
- }
- return c3;
- }
- }
- //测试类..............................
- public class FactoryDemo3 {
- public static void main(String[] args) {
- Car3 c=Factory3.getInstance("Ford3");
- if(c!=null){
- c.run();
- c.stop();
- }else{
- System.out.println("没有这种车型。。。");
- }
- }
- }