⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 shapefactory.java.1_11.txt

📁 这是孙卫琴在"Java与面向对象编程"一书的源代码。
💻 TXT
字号:
import java.util.HashMap;
import java.util.Map;

public class ShapeFactory {
  /** 定义形状类型常量 */
  public static final int SHAPE_TYPE_CIRCLE=1;
  public static final int SHAPE_TYPE_RECTANGLE=2;
  public static final int SHAPE_TYPE_LINE=3;

  private static Map<Integer,String> shapes=new HashMap<Integer,String>();

  static{  //静态代码块,当Java虚拟机加载ShapeFactory类的代码时,就会执行这段代码
    // 建立形状类型和形状类名的对应关系 
    shapes.put(new Integer(SHAPE_TYPE_CIRCLE),"Circle");
    shapes.put(new Integer(SHAPE_TYPE_RECTANGLE),"Rectangle");
    shapes.put(new Integer(SHAPE_TYPE_LINE),"Line");
  }
  /** 构造具体的Shape对象,这是一个静态方法 */
  public static Shape getShape(int type){
    try{
      //获得与形状类型匹配的形状类名
      String className=shapes.get(new Integer(type));
      //运用Java反射机制构造形状对象
      return (Shape)Class.forName(className).newInstance();
    }catch(Exception e){return null;}
  }
}



/****************************************************
 * 作者:孙卫琴                                     *
 * 来源:<<Java面向对象编程>>                       *
 * 技术支持网址:www.javathinker.org                *
 ***************************************************/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -