Class.ForName()读取配置文件
2024-09-03 19:13:11
- 榨汁机(Juicer)榨汁的案例
分别有水果(Fruit)苹果(Apple)香蕉(Banana)桔子(Orange)榨汁(squeeze)
public class Demo_Reflect { /**
* 榨汁机(Juicer)榨汁的案例
* 分别有水果(Fruit)苹果(Apple)香蕉(Banana)桔子(Orange)榨汁(squeeze)
* @throws Exception
*/
public static void main(String[] args) throws Exception {
/*Juicer j = new Juicer();
//j.run(new Apple());
j.run(new Orange());*/
BufferedReader br = new BufferedReader(new FileReader("config.properties")); //创建输入流对象,关联配置文件
Class<?> clazz = Class.forName(br.readLine()); //读取配置文件一行内容,获取该类的字节码对象
Fruit f = (Fruit) clazz.newInstance(); //通过字节码对象创建实例对象
Juicer j = new Juicer();
j.run(f);
} }
interface Fruit {
public void squeeze();
} class Apple implements Fruit {
public void squeeze() {
System.out.println("榨出一杯苹果汁儿");
}
} class Orange implements Fruit {
public void squeeze() {
System.out.println("榨出一杯桔子汁儿");
}
} class Juicer {
public void run(Fruit f) {
f.squeeze();
} }
最新文章
- Servlet、Filter、Listener、Interceptor
- 迭代器和for-of循环 顺便带一下Es5中的.map遍历
- MetaPhlAn 2:宏基因组进化分析
- bzoj1513: [POI2006]Tet-Tetris 3D
- 一年成为Emacs高手(像神一样使用编辑器)
- CentOS 6.6 nginx PHP 配置
- 简短总结一下C#里跨线程更新UI
- Struts2_搭建环境及HelloWorld
- php中文件引入require
- 【STL】算法 — partial_sort
- EasyUI Messager 消息框
- Webpack 2 视频教程 020 - Webpack 2 中的 HMR ( Hot Module Replacement )
- Pytorch系列教程
- centos7 安装mysql5.7
- Lua脚本性能优化指南
- Android.mk简介<;转>;
- SQL SERVER EXPRESS 连接字符串
- DataTable--数据生成datatable
- 怎么解决JSP中出现乱码的问题
- 判断tableViewCell是否在可视区