框架就是有很多牛人在我們還在上小學的時候(不懂程序的時候)給我們做了一套開發的架子,以後我們在應用開發時。就可以直接用這套架子,只需要把我們自己的一點東西加進來就可以了。
就好比房子,開發商爲我們提供了毛坯房。每個人可以通過自己的喜好來給這套房裝修。比如裝門窗等。那麼毛坯房就是框架,門窗就是自己開發的類。而我們可能還想給門裝上一把鎖。而這把鎖是我們從別人那裏買來的。這鎖就相當於工具類
毛坯房----->框架
門窗--------->自己開發的類
鎖----------->工具類
下面做一個反射應用在框架開發上的例子
定義一個資源文件
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());
}
}