论坛首页 Java企业应用论坛

反射机制

浏览 855 次
锁定老帖子 主题:反射机制
该帖已经被评为隐藏帖
作者 正文
   发表时间:2008-12-01  
//JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;
//对于任意一个对象,都能够调用它的任意一个方法;
//这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。
public class Test
{
public static void main(String[] args) {
String className="com.zengguo.Father";
// try {
// Class c=Class.forName(className);
//当这个类有无参的构造方法时我们可以这样调用
// Object obj=c.newInstance();//生成对象实体

// Class []cl=new Class[]{String.class};//参数的类型
// Method m=c.getMethod("show",cl);//show是方法名
// Object returnValue=m.invoke(obj,new Object[]{"zengguo"});
// System.out.println(returnValue);
// } catch (Exception e) {
// e.printStackTrace();
// }
//当这个类的构造方法有一个int行的参数是时我们这样调用
try {
//加载一个类(其实这个类我们在编译的时候是完全未知的,只有在运行的时候才知道),同时返回的是Class这样的一个描述类
Class c=Class.forName(className);
//构造方法的参数的类型
Class []ctorcl=new Class[]{int.class};
Constructor ctor=c.getConstructor(ctorcl);
Object obj=null;
obj=ctor.newInstance(new Object[]{1});//生成对象实体
//调用的方法的参数类型

Class []methodcl=new Class[]{String.class};
Method m=c.getMethod("show",methodcl);
//调用
Object returnValue=m.invoke(obj,new Object[]{"zengguo"});
System.out.println(returnValue);
} catch (Exception e) {
e.printStackTrace();
}
}
}
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics