社区
Java SE
帖子详情
java中的反射机制疑问
haperkelufer
2007-07-21 09:48:21
如果在得知第三方库api的前提下,是否反射机制就可以不用了呢?
我想到知道,是否有这样的情况:即便你可以得到第三方库的api,但还有某个特定的需要在不用反射的前提下无法完成。
望赐教!
也希望哪位大侠给个例子,从中可以看出,反射确实给程序带来了方便(对比不用反射)
...全文
269
4
打赏
收藏
java中的反射机制疑问
如果在得知第三方库api的前提下,是否反射机制就可以不用了呢? 我想到知道,是否有这样的情况:即便你可以得到第三方库的api,但还有某个特定的需要在不用反射的前提下无法完成。 望赐教! 也希望哪位大侠给个例子,从中可以看出,反射确实给程序带来了方便(对比不用反射)
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
JAVA3VB
2007-07-22
打赏
举报
回复
反射机制功能很强大,如果要使程序具有通用性,便于以后的重用。
struts,sprinng,hibernate好多框架底层都大量运用了反射机制。
ccy3253
2007-07-22
打赏
举报
回复
我的理解:反射机制对工程的意义大于单个的程序。很多框架(比如spring)的配置文件都要求输入你用到的类名,在程序加载的时候classloader就会根据类名去找这个类。你想想,如果没有反射机制的话,你就必须自己去修改spring的源代码,把你自己定义的类加上去。
反射机制还应用到java的很多模式中。比如ArrayList这个类,它的api大家都清楚吧,但是有一个特殊需求:请你自己创建一个容器类,这个类对ArrayList进行了封装,它能够捕捉放到它里面的第一个对象的类型,以后往里面插入的对象,必须跟第一个对象的类型相同。这个问题你可以用静态代理模式来做,但是这么做你会发现你只想要修改ArrayList的add动作,但是其它动作你也不得不重复实现一遍,否则你封装的ArrayList提供的方法就会少得多。这个时候如果你用动态代理来做,就很简单,你只需要在用户调用ArrayList的add方法时截获这个调用,然后判断就可以了。
如果仅从程序的角度来看,有没有反射机制无所谓,反正功能都能实现。但是从软件工程的角度来看,反射机制的出现,让程序更加灵活,且更容易实现。
orangemike
2007-07-22
打赏
举报
回复
我是觉得反射的作用主要还是用来做IDE的,否则IDE怎么给你做提示啊?
另外一个常用的作用就是为了动态加载,通过一个配置文件的配置,可以很方便的切换实现模块。
至于你说的“得知第三方库api的前提下,是否反射机制就可以不用了呢”这个问题,其实我很疑惑,什么情况下你会对一个库或者类的作用一无所知的情况下,去实际使用它呢?反射只是能告诉你这个类有哪些字段,方法,你还可以得到那个类实例。但是,你都不知道每个方法具体是干什么的,你就敢实际使用么?
zz_99
2007-07-22
打赏
举报
回复
这种例子比较少见,倒是确实碰到过.例子不好找,给你个说明,你自己去模拟.
一个classloader1加载了类A,你可以得到A的实例a,这种情况下,你在你的ide中写这样的语句:
A a1=a;
这个会报错,报一个ClassCastException,所以这种情况下,要使用a这个实例,必须写为:
Object a1=a;
然后用反射调用它的方法.
你需要仔细琢磨这之间的区别.为什么会报类型转换的错误.
java
反射机制
demo
给同事写的
反射机制
的用法,非常简单易用,大家一看就懂。也便于初学者对
反射机制
的理解 资源免费提供大家下载,如有
疑问
,可以直接咨询我
java
反射、泛型、注解、代理精讲
本课程是《
java
就业班》系统课程的第24章,全套课程精细讲解,该课程超过其他机构30%的课程量,经过我们全套课程系统学习的同学,可轻松从事
Java
高级工程师或系统架构师岗位,课程提供全套代码笔记其它相关素材及答疑服务,可谓是低投资高回报!学习前或学习后有任何
疑问
请在课程
中
提问,老师看到会第一时间回复!
网易
Java
程序员两轮面试 请问你能答对几个?
为大家分享网易
Java
程序员两轮面试题,考考大家,这些问题你能答对几个?
自定义注解及注解处理器PPT+Demo
对于很多初次接触的开发者来说应该都有这个
疑问
?Annontation是
Java
5开始引入的新特征,
中
文名称叫注解。它提供了一种安全的类似注释的机制,用来将任何的信息或元数据(metadata)与程序元素(类、方法、成员变量等)进行关联。为程序的元素(类、方法、成员变量)加上更直观更明了的说明,这些说明信息是与程序的业务逻辑无关,并且供指定的工具或框架使用。Annontation像一种修饰符一样,应用于包、类型、构造方法、方法、成员变量、参数及本地变量的声明语句
中
。
Java
注解是附加在代码
中
的一些元信息,用于一些工具在编译、运行时进行解析和使用,起到说明、配置的功能。注解不会也不能影响代码的实际逻辑,仅仅起到辅助性的作用。包含在
java
.lang.annotation 包
中
。注解处理器的话主要讲解编辑时注解处理器。运行时注解处理器都是通过反射实现,不清楚反射的先去了解下反射的知识。
java
反射机制
编程_
Java
反射机制
的实例详解
Java
反射机制
的实例详解发布时间:2020-09-21 06:23:08来源:脚本之家阅读:62作者:子沐阿
Java
反射机制
的实例详解前言今天介绍下
Java
的
反射机制
,以前我们获取一个类的实例都是使用new一个实例出来。那样太low了,今天跟我一起来学习学习一种更加高大上的方式来实现。正文
Java
反射机制
定义
Java
反射机制
是指在运行状态
中
,对于任意一个类,都能够知道这个类的所有属性和方法;...
Java SE
62,628
社区成员
307,259
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章