黑马程序员技术交流社区

标题: 反射中构造函数参数有些小问题 [打印本页]

作者: 倪杭乘    时间: 2012-5-16 15:02
标题: 反射中构造函数参数有些小问题
Class类中获取全部成员的方法中有传入Class类型的参数
比如 getConstructor(String.class) 在这儿为什么要传入Class类型的参数,它代表得到参数是String类型的构造方法,但是Class类又怎么能表示我传入的是String类型

作者: 冯越    时间: 2012-5-16 15:18
所有的String的实例对象都是由java虚拟机中的String.class产生的,对于所有的String对象来说他们所对应的class也只有String.class这一个。  试问你传入的是 String.class  人家怎么就不知道你传入的是String类型呢!!!
作者: 韩慧阳    时间: 2012-5-16 15:27
你理解错了,String不是基本数据类型,它是一个类。里面的Class也是一个类,她们都在java.lang包下。
String 是一个类,Class 也是一个类,Class 类的实例表示正在运行的 Java 应用程序中的类和接口。
Class<String> c = String.class;
String s = c.newInstance();//创建此 Class 对象所表示的类的一个新实例
String.class是要返回一个String的class类对象。

作者: 倪杭乘    时间: 2012-5-16 15:40
韩慧阳 发表于 2012-5-16 15:27
你理解错了,String不是基本数据类型,它是一个类。里面的Class也是一个类,她们都在java.lang包下。
Strin ...

靠谱,其实可以理解为要传入的数据类型是String.class的对象实例 相当于用父类接受子类对象




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