反射在框架開發中的應用

框架就是有很多牛人在我們還在上小學的時候(不懂程序的時候)給我們做了一套開發的架子,以後我們在應用開發時。就可以直接用這套架子,只需要把我們自己的一點東西加進來就可以了。

就好比房子,開發商爲我們提供了毛坯房。每個人可以通過自己的喜好來給這套房裝修。比如裝門窗等。那麼毛坯房就是框架,門窗就是自己開發的類。而我們可能還想給門裝上一把鎖。而這把鎖是我們從別人那裏買來的。這鎖就相當於工具類

毛坯房----->框架

門窗--------->自己開發的類

鎖----------->工具類

下面做一個反射應用在框架開發上的例子

定義一個資源文件

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());
  
 }

}


老婆要求加的鏈接>>

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章