永发信息网

java 反射常用什么地方

答案:4  悬赏:50  手机版
解决时间 2021-01-04 02:43
java 反射常用什么地方
最佳答案
通过java反射获得加载类,获得类的实例,
还有可以获得类中的私有成员属性。
Class c=Class.forName("类的名称");//通过配置文件
c.newInstance();//得到类的无参构造
c.getDeclaredFields();//获得本类的所有成员
c.getFields();//获得本类以及父类的一些公有属性
全部回答

class c = class.forname("student"); //通过字符串装载类, 必须是绝对路径, 即包括包名 object o = c.newinstance(); //获取装载类的实例, 如果找不到就会抛出异常

class[] cs= {sting.class,int.class}; //定义一个类的数组, 一般这种都是用在method的参数列表

//string.class说明传的是类型

method m = c.getmethod("study",cs); //获取装载类的实例的study方法, 注意后面的参数,

class[] ca = {"tom",18} //和上面有点不同, 这里传的是值 object result = m.invoke(o,ca); //执行method方法,并获取结果

反射一般都用在类名,字段,方法可以随便变化的时候, 还可以进行统一的处理,提高扩展性

比如说hibernate框架的实体类, 预先你不可能知道实体类会有什么字段, 包括字段的类型都是有可能随意变化的, 这时候要获取指定类的字段信息就必须得使用反射了.

还有struts的actionform等都一样

以上纯属个人意见, 学得不是很深,希望能给你带来帮助

在java开发中用到 写配置文件的地方都要用到java反射机制,比如我们常用的properties属性文件,struts spring hibernate mybatis 等,基于这个反射机制,在java开发中我们可以利用反射机制将一些类统一的整理出来 写在配置文件中(例如spring的poa思想),统一管理类的实例化,使得java代码更具有 逻辑性 还有在重写tostring ,equals时也用到 利用反射可以获得 类的属性 方法 构造器 和参数列表 利用object的newInstance(Object ... initargs)方法可以根据 参数选择构造器实例化对象
举个列子吧,比如几个类有同一个方法,但是这个方法又不是用抽象类或接口去做的 那么你在一个公用方法中要执行这个方法,而这几个类都可能会作为参数传入 那么你就会用到反射了
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
鲤城劳动保障局办公室办公地址在什么地方?我
单选题西红柿曾被视为有毒之果,并被取名为狼
QQ飞车6级宝石多少钱
Martin was grown-up, and for his birthday
40的8倍是________,6×500的积末尾有_______
下列为我国的基本国情之一的是A.国土辽阔,区
读俄罗斯图,回答.(1)俄罗斯以______气候
鲤城劳动保障局信访室办公地址在什么地方?我
求 关于会计人员职业道德的论文
单选题________oftheseboysswimsthebest?L
蘑菇街上的美女服饰图片都是从哪来的?
– Do you prefer drawing to music? No, I
摩羯与水瓶
---What’s your sister doing now?She her
根据汉语意思,完成句子。一空一词。【小题1
推荐资讯
怎么和老年人视频通话,他又不会微信那些
跪求一首歌,好像是日本的,ACFUN上有过视频,一
室内楼梯对着大门
送女生什么生日礼物最好?
你希望工作以后生活在哪些城市?理由是什么?
格斗之王_拳皇_97,格斗之王_拳皇_97怎么怎么
薛之谦是什么脸型,胡彦斌是什么脸型
网名秋水伊人什么意思
求像三生三世十里桃花一橡幽默又有点虐心的小
规模经济产生的原因
榴苑社区消防安全办公室在什么地方啊,我要处
如何看待同学上课打瞌睡的问题。
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?