工厂设计模式的改进 通过反射中Class类下的newInstance()对象
2016-09-09 22:35
337 查看
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;
}
}
/*
* 工厂设计模式的改进 通过反射中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;
}
}
相关文章推荐
- 设计模式之1.1 再谈反射 以及java当中通过配置文件得到类名字,并生成对象的方法
- Java设计模式之工厂模式之简单工厂模式(通过反射)
- java通过反射机制实现工厂设计模式
- 2006-7-30 数组的复制与排序,Runtime类与Process类,Class类与反射API,Runtime类与单例设计模式
- 设计模式(三)、FACTORY METHOD(工厂方法)---对象创建型模式
- 以boost factory & boost function实现对象工厂设计模式
- Javascript面向对象设计一 工厂模式
- .Net反射工厂设计模式
- Dot NET设计模式—反射工厂
- vb.net 中通过反射实现简单工厂模式
- 对象工厂设计模式
- vb.net 中通过反射实现简单工厂模式
- 设计模式-----基于反射工厂模式
- c#面向对象设计模式之工厂模式
- 设计模式之对象工厂(泛型实现)
- Dot NET设计模式—反射工厂
- 我也设计模式——7.反射工厂
- [零基础学JAVA]Java SE应用部分-36.反射机制与工厂设计模式 推荐
- Symbian常用设计模式之可伸缩对象工厂
- 在工厂模式里面利用反射机制动态调用对象方法