zoukankan      html  css  js  c++  java
  • 静态工厂实例代码

    package net.esrib.Factory;
    //静态工厂实现
    interface Car{ //车的接口类
        public void run();
        public void stop();
      }
    
    class Benz implements Car{ //奔驰车类
        public void run(){
          System.out.print("Benz 开动了。。。");
        }
        public void stop(){
          System.out.print("Benz 停车了。。。");
        }
    }
    
      class Ford implements Car{ //福特车类
          public void run(){
            System.out.print("Ford 开动了。。。");
          }
          public void stop(){
            System.out.print("Ford 停车了。。。");
          }
      }
    
    
    class Factory{//工厂类,加入其它类型的车类也不用修改工厂类
      public static Car getCarInstance(String type){//根据type类型来得到不同的车
        Car c = null;
        try {
          //通过JAVA的反射机制实例化实现类,给出完整的 “包.类”名称
          //这里要类型转换
          c = (Car) Class.forName("net.esrib.Factory.FactoryDemo." + type).
              newInstance();
        }
        catch (ClassNotFoundException ex) {
        }
        catch (IllegalAccessException ex) {
        }
        catch (InstantiationException ex) {
        }
        return c;
      }
    }
    
    public class FactoryDemo {
      public static void main(String [] args){
           Car c=Factory.getCarInstance("Benz");
        }
    }
    

      

  • 相关阅读:
    桂林印象
    快变
    近期的事
    *C#中使用ref和out一点认识!*
    *在框架集页面放置TreeView控件时页面跳转的问题解决*
    *无法找到脚本库的问题*
    *Ajax.Net快速入门*
    *网页过期*
    *Prototype开发笔记*
    *正则表达式*
  • 原文地址:https://www.cnblogs.com/cyjch/p/2340429.html
Copyright © 2011-2022 走看看