您的位置:首页 > 编程语言 > Java开发

Java基础知识_框架的概念以及用反射开发框架的原理

2013-07-14 16:10 537 查看
框架的概念以及用反射开发框架的原理

框架是一个基本概念上的结构,用于去解决或处理复杂的问题。框架和工具类不同,虽然在使用过程中,这两者都是由别人来写的,但是自己的类是被框架调用,而工具是被你的类调用。

可以这样表示:

框架——(调用)——>自己写的类——(调用)——>工具

但是写框架时有一个核心问题就是,在你写框架的时候,你并不知道以后会有哪些类可以被你调用,你不知道被你调用的类的名字甚至类型,那么你如何在编写框架的时候就用到它呢?

就像是开发商盖房子,盖出来的房子将来要有人去住,要由住户去自己安装防盗门,但是在你盖房子的时候,你并不知道将来有哪些人会来住你的房子,安装什么样的门,甚至在你盖房子的时候,你未来的住户可能正在上小学呢。

这个时候我们就要用到反射。
package cn.itcast.day1;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.InputStream;
import java.util.Collection;
import java.util.HashSet;
import java.util.Properties;

public class ReflectTest2 {

public static void main(String[] args) throws Exception {
// TODO 自动生成的方法存根

InputStream ips = new FileInputStream("config.properties");
Properties prop = new Properties();
prop.load(ips);
ips.close();//及时的关闭资源

String className = prop.getProperty("className");

Collection collection = (Collection)Class.forName(className).newInstance();
//ReflectPoint是一个自定义的测试类
ReflectPoint p1 = new ReflectPoint(3,3);
ReflectPoint p2 = new ReflectPoint(5,5);
ReflectPoint p3 = new ReflectPoint(3,3);

collection.add(p1);
collection.add(p2);
collection.add(p3);
collection.add(p1);

System.out.println(collection.size());

}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐