A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© liqudely 中级黑马   /  2015-1-12 17:23  /  1466 人查看  /  9 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

。。还有暴力反射是怎么回事。

9 个回复

正序浏览
其实我也很想问,我的感觉就像,高考作文或者四六级作文的模板,没想好要写啥主题(也就是不知道用哪个类),但是这些东西的共性可以先写出来,以后直接拿来用?
回复 使用道具 举报
sf1992 中级黑马 2015-1-13 01:39:06
9#
有时无法知道要被调用的类名,所以要用反射来拿
回复 使用道具 举报
wocan23 发表于 2015-1-12 21:20
反射有啥好处啊

不必须指定类型 就能对其从其操作
回复 使用道具 举报
感觉上有点各种快捷操作的感觉
回复 使用道具 举报
路过,进来看看
回复 使用道具 举报
反射就是dota里一个黑乎乎的英雄的技能
回复 使用道具 举报
vermouth 发表于 2015-1-12 18:37
所谓反射,用例子来说,就是一面镜子,你给它照什么,它给你返回什么样子。
反射的基石是Class 类  
                包括 ...

反射有啥好处啊
回复 使用道具 举报
所谓反射,用例子来说,就是一面镜子,你给它照什么,它给你返回什么样子。
反射的基石是Class 类  
                包括类的名字、访问属性、所属包名、字段名称的列表、方法名称的列表等等
通俗的说,把Java类中的各种成分映射成相应的Java类
                一个类中的每个成员都可以用相应的反射API类的一个实例对象来表示,通过调用Class类的方法可以得到这些实例对象。

反射的用处:工具类被用户的类调用,框架则是调用用户提供的类
                     因为在框架中写程序时无法知道要被调用的类名,无法new某个实例,所以要用反射来做
                    比如:
                     /*
                        使用反射实例化对象
                */
                //利用反射完成:new String(new StringBuffer("abc"));
                Constructor constructor = Class.forName("java.lang.String").getConstructor(StringBuffer.class);
                //编译时候不知道是String的构造方法,运行时才知道是String的一个构造方法,所以必须强转告诉编译器得到String
                String s = (String)constructor.newInstance(new StringBuffer("abc"));
                System.out.println(s);
回复 使用道具 举报
有暴力反射
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马