社区
Java SE
帖子详情
请教 :什么是java的反射机制?能否给一个形象的说明,谢谢!
竹君子
2005-07-19 04:48:38
rt
...全文
1494
15
打赏
收藏
请教 :什么是java的反射机制?能否给一个形象的说明,谢谢!
rt
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
15 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
zycode
2006-04-10
打赏
举报
回复
恩没学过java不过感觉就像是为了设计模式而弄出来的一个机制
oyljerry
2005-07-19
打赏
举报
回复
给一个字符或标识,可以得到类信息,产生实例,调用方法等
竹君子
2005-07-19
打赏
举报
回复
kingfish(八百里秦川@龙城异客):
厉害!
我有概念了!!
Aniq
2005-07-19
打赏
举报
回复
我很想知道 用JAVA的反射机制有什么好处??
kingfish
2005-07-19
打赏
举报
回复
就是给你一个字符串“A”,你可以得到类A的信息,产生实例,调用A的方法...
我的csdn的blog上有2篇简单文章
interhanchi
2005-07-19
打赏
举报
回复
不会吧,我每天都上去看一下的,刚才都能上去 !
竹君子
2005-07-19
打赏
举报
回复
interhanchi(我的偶像--Bruce Eckel.) :你的链接 打不开啊
kadeya
2005-07-19
打赏
举报
回复
各位大侠...你们多久JAVA经验啊??怎么我都看不懂....
interhanchi
2005-07-19
打赏
举报
回复
^_^,要想多了解的话去
http://www-128.ibm.com/developerworks/cn/java/index.html搜索一下吧,我就是在上面看了些文章,才理解的!
longtian_haidao
2005-07-19
打赏
举报
回复
不会把我都没听说过
interhanchi
2005-07-19
打赏
举报
回复
反射也就是说,在编译时,你获取了一个指向某个并不存在你的程序空间中的对象的引用;事实上在编译时你的程序无法获知这个对象所属的类.
java附带的库java.lang.reflect包含了FIeld,Method,Constructor类.这些类型的对象是由jvm在运行时创建的,用以表示未知类里对应的成员.你就可以使用Constructor创建新的对象,用get()和set()方法读取和修改与Field对象关联的字段,用invoke()方法调用与Method对象关联的方法.^_^其他的去翻一下jdk文档吧!
1 .
• Constructor getConstructor(Class[] params) -- 获得使用特殊的参数类型的公共构造函数,
• Constructor[] getConstructors() -- 获得类的所有公共构造函数
• Constructor getDeclaredConstructor(Class[] params) -- 获得使用特定参数类型的构造函数(与接入级别无关)
• Constructor[] getDeclaredConstructors() -- 获得类的所有构造函数(与接入级别无关)
2.
• Field getField(String name) -- 获得命名的公共字段
• Field[] getFields() -- 获得类的所有公共字段
• Field getDeclaredField(String name) -- 获得类声明的命名的字段
• Field[] getDeclaredFields() -- 获得类声明的所有字段
3.
• Method getMethod(String name, Class[] params) -- 使用特定的参数类型,获得命名的公共方法
• Method[] getMethods() -- 获得类的所有公共方法
• Method getDeclaredMethod(String name, Class[] params) -- 使用特写的参数类型,获得类声明的命名的方法
• Method[] getDeclaredMethods() -- 获得类声明的所有方法
discolt
2005-07-19
打赏
举报
回复
反射常用在类的反向控制,例如AOP。
interhanchi
2005-07-19
打赏
举报
回复
class Toy{
Toy(){}
public Toy(int i){
System.out.println("Toy");
}
public String toString(){
return "haha";
}
}
public class ToyTest{
public static void main(String[] args)throws Exception{
Constructor ctor = Toy.class.getConstructor(int.class);
Object[] b = new Object[] {2};
System.out.println(ctor.newInstance(b));
}
}
这个就是一个很简单的反射的例子.不用直接调用toy它的构造函数,而通过反射来调用它的构造函数,从而来创建toy的对象.
mofeir
2005-07-19
打赏
举报
回复
Class.forName("Employee").newInstance();
likeBean
2005-07-19
打赏
举报
回复
java vm很清楚你编写的class的结构,所以j2sdk提供了反射机制来动态的调用class的方法,举个例子,我们在调用对象的方法,常用的可能是obj.invokedmethod,而用发射机制,可以写成Invoker.invoke("className","methodname");
说的很粗,希望帮你理解。
字节跳动资深面试官亲述:面试应该注意哪些问题?
面试官的根本目的在于考察你这个人是否与招聘岗位相匹配,衡量能否胜任工作,我们在面试中要做到的就是让面试官相信我们能够与应聘岗位相匹配。 针对一些面试题做了总结: 1.请简单进行一下自我介绍 首先请报出自己...
《
Java
170道面试笔试题全面含答案》
2、访问修饰符public,private,protected,以及不写(默认)时的区别?3、String 是最基本的数据类型吗?4、float f=3.4;是否正确?5、short s1 = 1; s1 = s1 + 1;有错吗?short s1 = 1; s1 += 1;有错吗?6、
Java
有没有...
java
知识点汇总
从jvm的角度出发,延伸到对象在内存中的存储空间
Java
类初始化顺序
java
中创建对象的方式对象克隆,浅克隆,深克隆构造方法对象与引用静态static抽象类和接口ObjectString特征为什么不可变String类不可变性的好处?...
Java
程序员面试全集(上)
Java
基础 1、面向对象的特征有哪些方面? 答:面向对象的特征主要有以下几个方面: - 抽象:抽象是将一类对象...抽象只关注对象有哪些属性和行为,并不关注这些行为的细节是什么。 - 继承:继承是从已有类得到继承...
java
面试170道精讲:留着慢慢看
答:面向对象的特征主要有以下几个方面: - 抽象:抽象是将一类对象的共同特征总结出来构造类的过程,包括数据抽象和行为抽象两方面。抽象只关注对象有哪些属性和行为,并不关注这些行为的细节是什么。 - 继承:...
Java SE
62,628
社区成员
307,259
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章