Java反射机制的优点
来源:互联网 发布:喜剧之王知乎 编辑:程序博客网 时间:2024/05/21 21:47
java的反射机制就是增加程序的灵活性,避免将程序写死到代码里,例如: 实例化一个 person()对象, 不使用反射, new person(); 如果想变成 实例化 其他类, 那么必须修改源代码,并重新编译。 使用反射: class.forName("person").newInstance(); 而且这个类描述可以写到配置文件中,如 **.xml, 这样如果想实例化其他类,只要修改配置文件的"类描述"就可以了,不需要重新修改代码并编译。增加程序的灵活性。如struts中。请求的派发控制。当请求来到时。struts通过查询配置文件。找到该请求对应的action。已经方法。然后通过反射实例化action。并调用响应method。如果不适用反射,那么你就只能写死到代码里了。所以说,一个灵活,一个不灵活。很少情况下是非用反射不可的。大多数情况下反射是为了提高程序的灵活性。因此一般框架中使用较多。因为框架要适用更多的情况。对灵活性要求较高。
创建对象的3中方式:
使用new的方式,最为常见。
使用对象的clone()方法。
使用反射机制的newInstance()方法。
举个简单的例子:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
package
com.java;
public
class
Demo
{
/**
* 通过两种方式创建对象,以做对比。
* @param args
* @throws ClassNotFoundException
* @throws InstantiationException
* @throws IllegalAccessException
*/
public
static
void
main(String[] args)
throws
ClassNotFoundException,
InstantiationException, IllegalAccessException
{
// 我们认为这种方方式,Demo类和Basic类是耦合的,
// 编译Demo类时,Basic类必须存在,拓展性不强。
Basic basic0 =
new
Basic();
// 很明显这种方式,在编译Demo类时,并不需要
// Basic类的存在,只要在运行Demo类时,存在即可,
// 所以我们认为Demo类和Basic是松耦合的,
// 为后期的拓展提供了空间,好处显而易见。这么说,如果没有
// 反射机制,就没有struts、spring、hibernate等等这些web框架。
Class clazz = Class.forName(
"com.java.Basic"
);
Basic basic1 = (Basic) clazz.newInstance();
}
}
转:http://zhidao.baidu.com/question/478254128.html
0 0
- Java反射机制的优点
- java反射机制的作用与优点
- java反射机制的作用与优点
- java反射机制的作用与优点
- java反射机制的作用与优点
- java反射机制的作用与优点
- java反射机制的作用与优点
- 反射机制的优点与缺点
- java的反射机制
- Java的反射机制
- Java的反射机制
- Java 的反射机制
- JAVA的反射机制
- Java 的反射机制
- java的反射机制
- Java的反射机制
- Java 的反射机制
- JAVA的反射机制
- Struts 2中的constant详解
- 在ECSHOP后台的订单列表中显示配送方式
- 图片加载工具类
- PC端远程访问Linux服务器
- 红包没抢够?来注册监控宝,送暖春福利
- Java反射机制的优点
- adb 连接时候不弹出授权对话框
- JAVA多线程 <四>死锁
- 实战 Groovy: 构建和解析 XML
- T9键盘
- 40岁前的男人必看的文章!共勉!
- JavaScript中的prototype
- 通过Navicat for MySQL远程连接的时候报错mysql 1130的解决方法
- json 在线格式化工具