正文
Day14_80_反射机制+IO+Propreties动态创建对象
小程序:扫一扫查出行
【扫一扫了解最新限行尾号】
复制小程序
【扫一扫了解最新限行尾号】
复制小程序
反射机制+IO+Propreties动态创建对象
* 使用Properties文件,在文件中通过<key value>的形式保存一下类名,然后通过IO 获取该类名,再然后利用反射机制得到该类名就可以动态的创建对象,不用再程序一开始就写死,这样回更加灵活。* 示例代码: - Properties文件中写classname=java.util.Date import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Properties; public class ReflectAndIOAndProperties {
public static void main(String[] args) throws IOException, ClassNotFoundException, IllegalAccessException, InstantiationException { //创建Properties属性对象
Properties properties=new Properties(); //创建输入流
FileInputStream fileInputStream=new FileInputStream("C:\\Users\\SHIGE\\Desktop\\classinfo.properties"); //将流中的数据加载到对象中
properties.load(fileInputStream); //关闭流
fileInputStream.close(); //获取Value
String value=properties.getProperty("classname"); // 创建对象
Class c=Class.forName(value);
Object object=c.newInstance(); //输出对象
if(object instanceof Date){
Date date=(Date)object;
System.out.println(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss SSS").format(date));
} }
}