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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 张亭 中级黑马   /  2012-5-24 22:49  /  1793 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 张亭 于 2012-5-24 22:51 编辑

Class下面有这样两个方法,都能获得构造器,不知道两者有什么区别没,什么时候该用哪个
我在做练习时没发现不一样
getDeclaredConstructor();
getConstructor();

查看API,
getConstructor(Class<?>... parameterTypes)
          返回一个 Constructor 对象,它反映此 Class 对象所表示的类的指定公共构造方法

getDeclaredConstructor(Class<?>... parameterTypes)
          返回一个 Constructor 对象,该对象反映此 Class 对象所表示的类或接口的指定构造方法

没看明白,公共构造方法是什么东东啊
类或接口的指定构造方法?
接口里会有构造方法吗?
有明白的指点一下,谢谢

评分

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

查看全部评分

3 个回复

倒序浏览
getDeclaredConstructor可以返回指定参数的构造函数,而getConstructor只能放回指定参数的public的构造函数。
公共构造方法:就是公共的方法。
接口:没有  构造方法要求实现,接口不能有实现的方法。
回复 使用道具 举报
公共的构造方法就是被修饰为public的构造方法,要知道,类中的构造方法可能是私有的,比如说单例。
打比方,我们要获得一个单例类的构造方法,就必须用getDeclaredConstructor(), 否则用getConstructor足矣
回复 使用道具 举报
测试了一下,getDeclaredConstructor()确实可以取得单例的构造方法,而getConstructor()报错;
但我想应该不只这点区别吧,否则getConstructor()直接可以过时掉了..
接口应该是没有构造方法的,不知道"类或接口的指定构造方法"这句什么意思额{:soso_e132:}
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马