您的位置:首页 > 编程语言 > Java开发

java 反射和 工厂模式结合使用

2012-07-25 17:32 465 查看
最近写项目的时候出现了工厂类比较庞大的后果,而且每次增加对象都要改变工厂类十分不方便,后来整改成和反射结合。

1、首先创建接口类

public interface Animal{
public void sundes();
}

2、创建动物类实现接口

public class Dog implements Animal{
@Override
public void Sounds(){
system.out.print("旺旺");
}
}
public class Cat implements Animal{
@Override
public void Sounds(){
system.out.print("喵喵");
}
}

3、创建工厂类

public class Factory {
public static Animal getInstance(String AnimalName){
Animal a = null;
try {
a = (Animal ) Class.forName(AnimalName).newInstance();
} catch (InstantiationException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
return a;
}

4、调用工厂方法

public class FactoryImp{
pubic static void main(String[] arg){
Animal  animal =  Factory.getInstance("dog");
animal.sundes();
}

}

这样就不需要改动工厂类了。不过Factory.getInstance需要传入动物类的全路径,这样也是比较麻烦的,不过我们可以配合配置文件实现

 

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java class string interface