黑马程序员技术交流社区

标题: 构造函数的反射作用 [打印本页]

作者: 应佳锋    时间: 2012-3-28 23:51
标题: 构造函数的反射作用
Class c=  Student.class;
          Constructor con=  c.getConstructor(int.class);
         Student s=(Student)   con.newInstance(15);
        System.out.println( s.getAge());
问题1:射调用构造函数 之后 返回后的是 不是都是这个构造函数所在的类的对象
问题2:                Student s=new Student(15);
         System.out.println(s.getAge());也一样可以获得啊 为什么要用反射    感觉反射的效率还慢
作者: 和心愿    时间: 2012-3-29 07:06
主要是还没有用到框架,所以感受不出来反射的好处,这么说吧,当一个团队完成一个项目以后,交出去的是编译后的字节码打成的包,是封装过的,对方是得不到源代码的,如果有一天,对方需要改善程序的话,就得通过反射来得到相关的信息了。
作者: 黑马胡林    时间: 2012-3-29 07:15
反射在框加用里面用的多,特别是Hibernate,在调试程序用JUnit这个工具的时候,用反射对程序代码进行测试用的多,可对实例,方法,源文件进行测试。
作者: 罗杰    时间: 2012-3-29 09:12
这些其实张老师的课里都有讲
问题1:反射调用构造函数,newInstance()由于程序本身并没有记录来自那个类,所以得到的是一个Object的对象,再所以要用(Student)转换一下
问题2:使用反射的原因:当类名或对象名在编写程序的时候并不确定(比方说类名是作为参数传进来的),这时只能用反射的方法调用这些类或对象的方法。
作者: 郑洋洋    时间: 2012-3-29 09:56
反射其实就是程序能够自检查自身信息.反射可以使得程序更加灵活,可以在程序运行过程中,动态的去创建对象,调用方法。




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