java面试题网

普通会员

483

帖子

9

回复

187

积分

楼主
发表于 2019-08-26 15:24:39 | 查看: 5048| 回复: 0

java IO+Properties+Reflect实例

java IO+Properties+Reflect实例
package com.wkcto.chapter08.demo03;
import java.io.IOException;
import java.io.InputStream;
/**
 * 定义一个业务逻辑类
 * 		需要使用Collection集合
 * @author 蛙课网
 *
 */
import java.util.Collection;
import java.util.Properties;

public class DataOP {
	static Collection collection;  		//定义Collection引用

	static{
		/*
		 * 静态代码块, 在类加载内存后,在类使用前执行,
		 * 	有时, 这个类需要依赖一些外部资源, 就可以在静态代码块中加载这些依赖资源
		 * 	在本例中, 可以在静态代码块中从配置文件中读取Collection集合的实现类名
		 */
		
		try {
			Properties properties = new Properties();
			InputStream inStream = DataOP.class.getResourceAsStream("/com/wkcto/chapter08/demo03/config.properties");
			properties.load(inStream);
			String className = properties.getProperty("classname");
			//通过反射技术 创建实例
			Class<?> class1 = Class.forName(className);
			collection = (Collection) class1.newInstance();
		} catch (ClassNotFoundException | InstantiationException | IllegalAccessException | IOException e) {
			e.printStackTrace();
		}
	}
	
	//把数据添加到集合中
	public void addData() {
		collection.add("data11");
	}
	//显示数据
	public void show() {
		System.out.println( collection );
		
	}
}

在当前包中添加config.properties配置文件,
classname=java.util.HashSet


文章来自www.wityx.com,转载请注明出处!原文地址http://www.wityx.com/post/1210_1_1.html


java面试题交流群:327440556

您需要登录后才可以回帖 登录 | 立即注册

java面试题网www.wuliaokankan.cnjava建站系统提供技术支持V2.1 网站地图 © 2016-2018