框架就是有很多牛人在我们还在上小学的时候(不懂程序的时候)给我们做了一套开发的架子,以后我们在应用开发时。就可以直接用这套架子,只需要把我们自己的一点东西加进来就可以了。
就好比房子,开发商为我们提供了毛坯房。每个人可以通过自己的喜好来给这套房装修。比如装门窗等。那么毛坯房就是框架,门窗就是自己开发的类。而我们可能还想给门装上一把锁。而这把锁是我们从别人那里买来的。这锁就相当于工具类
毛坯房----->框架
门窗--------->自己开发的类
锁----------->工具类
下面做一个反射应用在框架开发上的例子
定义一个资源文件
ClassName=java.util.ArrayList注意不要加引号,如果加引号了。就会发出找不到类的错误
下面就是通过从资源文件中获得要操作的类名,通过类名反射到那个类的本身,进而使用那个类
package cn.yangtao.reflect;
import java.io.FileInputStream;
import java.io.InputStream;
import java.lang.reflect.*;
import java.util.Collection;
import java.util.HashSet;
import java.util.Properties;
import java.util.Set;
import java.util.*;
public class ColectionReflect {
/**
* @param args
*/
public static void main(String[] args)throws Exception {
// TODO Auto-generated method stub
InputStream in=new FileInputStream("className.properties");
Properties properties=new Properties();
properties.load(in);
in.close();
String ClassName=properties.getProperty("ClassName");
Collection allSet=(Collection)Class.forName(ClassName).newInstance();
//Set allSet=new HashSet();
ReflectPoint r1=new ReflectPoint(1,3);
ReflectPoint r2=new ReflectPoint(3,2);
ReflectPoint r3=new ReflectPoint(1,4);
ReflectPoint r4=new ReflectPoint(1,3);
allSet.add(r1);
allSet.add(r2);
allSet.add(r3);
// r1.setX(3);
// allSet.remove(r1);
System.out.println(allSet.size());
}
}