博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java反射内部类
阅读量:6293 次
发布时间:2019-06-22

本文共 747 字,大约阅读时间需要 2 分钟。

Java利用反射机制实例化对象的时候,需要通过类名来获得Class,例如"android.view.ViewGroup",但是,内部类的类名是比较奇怪的,例如ViewGroup的内部类LayoutParams,在代码中我们可以这样声名ViewGroup.LayoutParams lp = ....,但是实际上这并不是其真正的类名。Java在编译代码时为了区分内部类会将内部类名改为

"ViewGroup$LayoutParams"。所以反射的时候,输入内部类类名要注意这一点。

 

附上反射实例化类的简单方法。没有做排错处理。

/**	 * 	 * @param className: 完整类名	 * @param argTypes: 构造函数的参数类型	 * @param args: 构造函数值	 * @return 实例化对象	 */	static Object reflectInstance(String className, Class[] argTypes,			Object[] args) {		try {			Class viewClass = Class.forName(className);			Constructor con = viewClass.getConstructor(argTypes);			return con.newInstance(args);		} catch (Exception e1) {			e1.printStackTrace();		}
         return null;
    }

  

转载于:https://www.cnblogs.com/marjeay/archive/2012/02/28/2371696.html

你可能感兴趣的文章
将图片转成base64字符串并在JSP页面显示的Java代码
查看>>
js 面试题
查看>>
sqoop数据迁移(基于Hadoop和关系数据库服务器之间传送数据)
查看>>
腾讯云下安装 nodejs + 实现 Nginx 反向代理
查看>>
Javascript 中的 Array 操作
查看>>
java中包容易出现的错误及权限问题
查看>>
AngularJS之初级Route【一】(六)
查看>>
服务器硬件问题整理的一点总结
查看>>
SAP S/4HANA Cloud: Revolutionizing the Next Generation of Cloud ERP
查看>>
Mellanox公司计划利用系统芯片提升存储产品速度
查看>>
白帽子守护网络安全,高薪酬成大学生就业首选!
查看>>
ARM想将芯片装进人类大脑 降低能耗是一大挑战
查看>>
Oracle数据库的备份方法
查看>>
Selenium 自动登录考勤系统
查看>>
关于如何以编程的方式执行TestNG
查看>>
智能照明造福千家万户 家居智能不再是梦
查看>>
物联网如何跳出“看起来很美”?
查看>>
浅谈MySQL 数据库性能优化
查看>>
《UNIX/Linux 系统管理技术手册(第四版)》——1.10 其他的权威文档
查看>>
灵动空间 创享生活
查看>>