该帖已经被评为良好帖
|
|
---|---|
作者 | 正文 |
发表时间:2012-06-21
stamen 写道 rox 写道 kimimo 写道 aiyan3344 写道 rox 写道 抱歉,又点错了,把隐藏当收藏点了。
唉,年纪大了! 嗯,哥们你年龄是不小了,看到你好几次这样了。 哈哈,监督这哥们,避免下次又把收藏当隐藏了 唉,每次看到好帖子,就习惯去点收藏。 眼神不好,看到个“藏”字就点了,没弹出窗,不对,发现下面一排还有一个,后悔都来不及。 每次点错,俺只有回帖认了。 忘各位楼主海涵啊!呵呵! 哈,没事,这种小错,还不至于把帖子直接隐藏了 ,不过,建议iteye可以把“隐藏帖”改为“垃圾帖”,这样就和“收藏”明显区分开了。 防止点错,点隐藏加个确认对话框 |
|
返回顶楼 | |
发表时间:2012-06-21
okjbc 写道 具体看反射怎么合理的使用了。貌似现在很多都在使用反射。
按张龙老师的名言来说:No reflection, No more framework! |
|
返回顶楼 | |
发表时间:2012-06-21
gongrunlian 写道 stamen 写道 gongrunlian 写道 //③通过反射方法设置属性
18. Method setBrand = clazz.getMethod("setBrand",String.class); 19. setBrand.invoke(car,"红旗CA72"); 20. Method setColor = clazz.getMethod("setColor",String.class); 21. setColor.invoke(car,"黑色"); 22. Method setMaxSpeed = clazz.getMethod("setMaxSpeed",int.class); 23. setMaxSpeed.invoke(car,200); 24. return car; 我有一个疑惑求解释 看上代码既然知道有setBrand这个方法为什么还要用invoke赋值? 这是反射调用的API 没有为什么 哈 可能你没有完全明白我的意思 我意思是既然知道有setBrand这个方法我就可以car.setBrand("红旗CA72")这样赋值就不要Method setBrand = clazz.getMethod("setBrand",String.class); setBrand.invoke(car,"红旗CA72");这样赋值了,就是说我预先并不知道有这个方法(按照你这样写好像预先知道了有这样一个方法了,就可以car.setBrand("红旗CA72")这样赋值)要通过反射看这个class有些什么方法 我只是有点不解 还请楼主谅解! 我的理解是,使用反射方式调用方法,有以下原因: 1. 比如此方法是private的,你不能直接调用,反射可以; 2. 比如你只知道此方法名的规则,运行时才知道具体方法,你无法直接调用。 例如setter方法,框架在运行时才知道某类有“name”属性,根据setter规则构造方法名“setName”,这时只能通过反射来调用; 暂时想到这么多,大家来补充。 |
|
返回顶楼 | |
发表时间:2012-06-21
我以为javayeye上再也出不了好文章,最近发现好文章又出来了,我也有来的理由了,哈哈
|
|
返回顶楼 | |
发表时间:2012-06-21
yuebancanghai 写道 我以为javayeye上再也出不了好文章,最近发现好文章又出来了,我也有来的理由了,哈哈
。。。。。。。 |
|
返回顶楼 | |
发表时间:2012-06-23
讲的不错,浅显易懂,最近正在实现自己的struts,也对反射有了一定的了解
|
|
返回顶楼 | |
发表时间:2012-06-26
感覺這些代碼挺熟悉的,#24 好像早張孝祥的java基礎視頻里看到過#24
|
|
返回顶楼 | |
发表时间:2012-06-26
lingfengaixixi 写道 感覺這些代碼挺熟悉的,#24 好像早張孝祥的java基礎視頻里看到過#24
#24小心孝祥老师来找你#17 |
|
返回顶楼 | |
发表时间:2012-06-26
aiyan3344 写道 lingfengaixixi 写道 感覺這些代碼挺熟悉的,#24 好像早張孝祥的java基礎視頻里看到過#24
#24小心孝祥老师来找你#17 哈哈不怕,正好有些东西要问他呢 |
|
返回顶楼 | |
发表时间:2012-07-17
最后修改:2012-07-17
支持一下,有时间整理并共享信息,既帮助大家也提高自己。
希望ITeye能多点这样的技术爱好者。 |
|
返回顶楼 | |