1.可以创建对象
2.可以获取类的属性和方法
3.可以调用类的属性和方法
配置文件的思想
反射多用于框架开发【struts,spring,mybits,hibernate。。。】
代码
package lesson15;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import com.huaizhi.domain.Orange;
public class Demo {
public static void main(String[] args) throws IOException, ClassNotFoundException, InstantiationException, IllegalAccessException {
// TODO Auto-generated method stub
//1.以前创建对象的方法
/*Apple apple = new Apple();
Orange orange = new Orange();
apple.squeeze();
orange.squeeze();*/
//获取类的字节码对象【Class.forName()读取配置文件】
// 读取数据
BufferedReader reader = new BufferedReader(new FileReader("config.properties"));
String className = reader.readLine();
System.out.println(className);
reader.close();
Class clz = Class.forName(className);
//2.通过反射来创建对象
Object obj = clz.newInstance();
Orange orange = (Orange) obj;
orange.squeeze();
}
}