A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 倪杭乘 中级黑马   /  2012-5-16 15:02  /  1600 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

Class类中获取全部成员的方法中有传入Class类型的参数
比如 getConstructor(String.class) 在这儿为什么要传入Class类型的参数,它代表得到参数是String类型的构造方法,但是Class类又怎么能表示我传入的是String类型

3 个回复

倒序浏览
所有的String的实例对象都是由java虚拟机中的String.class产生的,对于所有的String对象来说他们所对应的class也只有String.class这一个。  试问你传入的是 String.class  人家怎么就不知道你传入的是String类型呢!!!
回复 使用道具 举报
你理解错了,String不是基本数据类型,它是一个类。里面的Class也是一个类,她们都在java.lang包下。
String 是一个类,Class 也是一个类,Class 类的实例表示正在运行的 Java 应用程序中的类和接口。
Class<String> c = String.class;
String s = c.newInstance();//创建此 Class 对象所表示的类的一个新实例
String.class是要返回一个String的class类对象。

评分

参与人数 1技术分 +1 收起 理由
攻城狮 + 1 赞一个!

查看全部评分

回复 使用道具 举报
韩慧阳 发表于 2012-5-16 15:27
你理解错了,String不是基本数据类型,它是一个类。里面的Class也是一个类,她们都在java.lang包下。
Strin ...

靠谱,其实可以理解为要传入的数据类型是String.class的对象实例 相当于用父类接受子类对象
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马