利用反射机制创建实例化对象工厂
来源:互联网 发布:金石工程计价软件 编辑:程序博客网 时间:2024/05/16 04:47
/**
* 利用反射机制创建实例化对象 实现不同类的实例化创建
* 该工厂类根据不同的类路径创建生产不同类的实例化对象
* @author erik
*
*/
public class Factory {
/**
* 根据完整的类路径和名称创建该类的实例化对象
* @param className 完整的类路径及名称
* @return T
* @throws Exception
*/
public static <T> T getInstance(String className) throws Exception {
@SuppressWarnings("unchecked")
T t = (T) Class.forName(className).newInstance();
return t;
}
/**
* 根据不同的类文件创建该类的示例化对象
* @param class
* @return T
* @throws Exception
*/
public static <T> T getInstance(Class<?> cls) throws Exception {
T t = (T) cls.newInstance();
return t;
}
private Factory () {}
* 利用反射机制创建实例化对象 实现不同类的实例化创建
* 该工厂类根据不同的类路径创建生产不同类的实例化对象
* @author erik
*
*/
public class Factory {
/**
* 根据完整的类路径和名称创建该类的实例化对象
* @param className 完整的类路径及名称
* @return T
* @throws Exception
*/
public static <T> T getInstance(String className) throws Exception {
@SuppressWarnings("unchecked")
T t = (T) Class.forName(className).newInstance();
return t;
}
/**
* 根据不同的类文件创建该类的示例化对象
* @param class
* @return T
* @throws Exception
*/
public static <T> T getInstance(Class<?> cls) throws Exception {
T t = (T) cls.newInstance();
return t;
}
private Factory () {}
}
public class TestDemo {
public static void main(String[] args) {
try {
//根据完整类路径创建实例化对象
ICar car = Factory.getInstance("com.product.car.Benci");
car.driveCae();
IFruit iFruit = Factory.getInstance("com.product.fruit.Apple");
iFruit.ect();
//根据类文件创建实例化对象
Bmw bmw = Factory.getInstance(Bmw.class);
bmw.driveCae();
Orange orange = Factory.getInstance(Orange.class);
orange.ect();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
1 0
- 利用反射机制创建实例化对象工厂
- 利用java反射机制动态创建对象
- 【C#】利用反射机制创建对象
- 使用反射机制创建对象实例
- java反射机制(一)—— 利用反射机制实例化对象
- java反射机制—— 利用反射机制实例化对象
- 利用反射机制通过配置文件在对象池创建对象
- 利用反射机制通过配置文件在对象池创建对象
- Android中利用反射机制创建实例的代码
- 利用反射创建对象
- 利用反射创建对象
- java反射创建工厂对象
- java 利用反射实例化类对象
- 反射机制--获取实例化对象
- java反射机制实例化对象
- 抽象工厂模式:简单工厂模式、工厂方法模式对比;在工厂方法模式中使用反射创建对象实例
- C#利用反射创建实例
- 利用反射机制实现工厂模式
- Eclipse 在开发中使用到的快捷键
- 题目1011:最大连续子序列 九度OJ
- Java面试题全集(下)
- Jfinal 源码阅读方式
- Realm入门
- 利用反射机制创建实例化对象工厂
- jQuery $.extend()用法总结
- 微信蓝牙连接 总结
- cocos2D 1
- 移动端下拉刷新、上拉加载更多插件dropload的使用
- TensorsFlow学习笔记3----面向机器学习初学者的MNIST教程(MNIST For ML Beginners)
- 20个常用正则表达式,让你少写1000行代码
- KETTLE后台进程执行配置方式
- 工具拼接xml