java中的设计模式(二)--工厂方法模式 反射机制

本文探讨了工厂方法模式的一种改进方法,利用Java反射机制,避免了为新产品创建新的工厂实现类。通过传入产品类如Apple.class,客户端可以直接调用,实现更灵活的产品创建。
摘要由CSDN通过智能技术生成
 

上一次提到了工厂方法模式,经过查阅相关资料,发现可以有改进之处:

改进1.工厂方法

package com.sf.hf;

import com.sf.entity.Apple;
import com.sf.entity.Banana;
import com.sf.jk.Fruit;

public class FruitFactory {
	public class FruitFactory {
		public static Fruit createFruit(Class c){
		//定义一个水果对象
		Fruit fruit = null;
		try {
			fruit = (Fruit) Class.forName(c.getName()).newInstance();
		} catch (Exception e) {
			System.out.println("创建出错");
		}
		return fruit;	
	}
}
	
	
}


改进2.客户端调用

import com.sf.entity.Apple;
import com.sf.entity.Banana;
import com.sf.hf.FruitFactory;
import com.sf.jk.Fruit;


public class Test {

	public static void main(String[] args) {
		System.out.println("---------创建苹果---------");
		Fruit apple = FruitFactory.createFruit(Apple.class);
		apple.eat();
		apple.plant();
		System.out.println("---------创建香蕉--
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值