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