黑马程序员技术交流社区

标题: 反射 动态获取加载类里面的构造函数的问题 [打印本页]

作者: pengbeilin    时间: 2015-8-14 13:47
标题: 反射 动态获取加载类里面的构造函数的问题
本帖最后由 pengbeilin 于 2015-8-14 17:40 编辑

今天刚刚看了反射,想用eclipse写一下代码,写到获取有参数的构造函数的时候,出现了一个蛋疼的问题,代码一直提示错误,
错误大概是:类型 Class 中的方法 getConstructor(Class[])对于参数(Class, Class)不适用。
我用的jdk1.7 这里怎么会出现一个jdk1.5以前的老参数
  1. public static void getCon() throws Exception{        
  2.                 String s = "reflect.com.Person";
  3.                 Class clavv = Class.forName(s);//先获取对象
  4.                 Constructor constructor = clavv.getConstructor(String.class,int.class);
  5.                 //提示这样的错误    类型 Class 中的方法 getConstructor(Class[])对于参数(Class, Class)不适用
  6.         }
复制代码



        
我实在搞不清楚是怎么了

QQ截图20150814133704.png (2.6 KB, 下载次数: 99)

就是提示了这个错误

就是提示了这个错误

QQ截图20150814134512.png (112.09 KB, 下载次数: 115)

这个是我的jdk1.7

这个是我的jdk1.7

作者: a496668151    时间: 2015-8-14 13:59
我帮你测试了下 我这里没问题
还有我想问下  提示  类型 Class 中的方法 getConstructor(Class[])对于参数(Class, Class)不适用
getConstructor(Class[]) 这里 参数应该是一个可变参数 为何让写 一个Class[]数组  你写一个 class[]数组 试试
作者: pengbeilin    时间: 2015-8-14 14:08
a496668151 发表于 2015-8-14 13:59
我帮你测试了下 我这里没问题
还有我想问下  提示  类型 Class 中的方法 getConstructor(Class[])对于参 ...

我也是比较蛋疼,我的jdk没问题,为什么会跑出一个这东西来,会不会我的eclipse哪里出问题了?
作者: pengbeilin    时间: 2015-8-14 14:15
a496668151 发表于 2015-8-14 13:59
我帮你测试了下 我这里没问题
还有我想问下  提示  类型 Class 中的方法 getConstructor(Class[])对于参 ...

刚刚试了数组,可以! - - 但是也不能一直用数组吧
作者: zby_allan    时间: 2015-8-14 17:52
我试了没问题的 你看看你编译器版本是不是设置成低版本的了 和安装版本不对应
作者: pengbeilin    时间: 2015-8-14 18:20
zby_allan 发表于 2015-8-14 17:52
我试了没问题的 你看看你编译器版本是不是设置成低版本的了 和安装版本不对应 ...

我也觉得是编译器的问题,,我一直用文本  今天学反射 我才开始用eclipse~ 也是不太会用这鬼东西
作者: zby_allan    时间: 2015-8-14 19:03
pengbeilin 发表于 2015-8-14 18:20
我也觉得是编译器的问题,,我一直用文本  今天学反射 我才开始用eclipse~ 也是不太会用这鬼东西 ...

一开始用IDE 你就会发现你再也回不去了
作者: zby_allan    时间: 2015-8-14 19:05
pengbeilin 发表于 2015-8-14 18:20
我也觉得是编译器的问题,,我一直用文本  今天学反射 我才开始用eclipse~ 也是不太会用这鬼东西 ...

我说的是 eclipse里的编译器版本设置 就在Preference里面的java里面的compiler里 你看下版本是多少
作者: pengbeilin    时间: 2015-8-14 19:23
zby_allan 发表于 2015-8-14 19:05
我说的是 eclipse里的编译器版本设置 就在Preference里面的java里面的compiler里 你看下版本是多少 ...

我一年前下载的汉化版,{:2_33:}你说英语我就不懂了~
作者: pengbeilin    时间: 2015-8-14 19:33
zby_allan 发表于 2015-8-14 19:05
我说的是 eclipse里的编译器版本设置 就在Preference里面的java里面的compiler里 你看下版本是多少 ...

- -想扇自己了~ 原来是在创建项目的时候选了个jre1.1的系统库~
作者: boboyuwu    时间: 2015-12-15 23:13
在吗兄弟  现在在黑马怎么样了 ?




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