黑马程序员技术交流社区

标题: java 反射的设计思想问题? [打印本页]

作者: 黑马_许芸    时间: 2012-9-7 19:28
标题: java 反射的设计思想问题?
请问Java里面的反射思想是如何设计的? 为什么Class就可以指向所有类的对象?里面的方法的调用又是怎样的原理呢?

import java.lang.reflect.Method;

public class DumpMethods
{
        public static void main(String[] args) throws Exception
        {

                Class<?> classType = InvokeTester.class;    //这里面的数据结构是怎么指向的

                Object invokeTester = classType.newInstance()

                Method addMethod = classType.getMethod("add", new Class[] { int.class,
                                int.class });
               
                Object result = addMethod.invoke(invokeTester, new Object[]{1, 2});   //这又是如何的就可以调用了 对象的方法的呢?
                System.out.println((Integer)result);
               
                System.out.println("---------------------");
               
                Method echoMethod = classType.getMethod("echo", new Class[]{String.class});
               
                Object result2 = echoMethod.invoke(invokeTester, new Object[]{"tom"});
               
                System.out.println((String)result2);
        }
}





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2