工厂设计模式的改进 通过反射中Class类下的newInstance()对象

来源:互联网 发布:dcs组态软件 编辑:程序博客网 时间:2024/06/06 02:33
package cn.com.mooc.study1;
/*
 * 工厂设计模式的改进 通过反射中Class类下的newInstance()对象
 */
public class FactoryReflect {


public static void main(String[] args) {
String str="cn.com.mooc.study1.Apple";
Fruit fruit=Factory.getInstance(str);
fruit.eat();
str="cn.com.mooc.study1.Pear";
fruit=Factory.getInstance(str);
fruit.eat();
}


}
interface Fruit{
public void eat();
}
class Apple implements Fruit{


@Override
public void eat() {
System.out.println("吃苹果呀!");
}
}
class Pear implements Fruit{


@Override
public void eat() {
System.out.println("吃个梨吧!");
}
}
class Factory{
public static Fruit getInstance(String className)
{
Fruit fruit=null;
try
{
fruit=(Fruit)Class.forName(className).newInstance();
}catch(Exception e)
{
e.printStackTrace();
}
return fruit;
}
}
0 0