博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
关于Java内部类(类中类)反射实例化的备忘贴
阅读量:5084 次
发布时间:2019-06-13

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

今天在修改的Java驱动,猛然发现我的Foo类居然无法创建实例。

后来对比发现由于Foo是个内部类,因此无法直接反射创建其实例,代码原型如下:

1 public final class UnitTests 2 { 3         @Test 4         public void FooTest() throws IllegalAccessException, InstantiationException, NoSuchFieldException 5         { 6                 Class c = Foo.class; 7                 Foo obj = (Foo) c.newInstance(); 8                 Field fi = c.getField("Name"); 9  10                 fi.set(obj, "Foo:你的名字");11  12                 System.out.println(obj.Name);13         }14         15         public final class Foo16         {17                 public String Name;18         }19 }

到群里请教各位Java大神,无果。

但是我发现MongoDB驱动自带的一些示例是可以反射的,经过细致对比发现“需要在内部类上增加static修饰符”,即:

public static final class Foo

关于static关键字在java语言中的作用请参考:

请各位路过之人指点迷津!

 

转载于:https://www.cnblogs.com/ymind/archive/2012/04/18/2455345.html

你可能感兴趣的文章
二维码快速扫描工具
查看>>
python文本处理.python版本2.7.3
查看>>
C# 删除html标签,只保留文字
查看>>
ie6 支持fixed
查看>>
django的模版中访问数组
查看>>
优秀有价值的博客收藏列表(持续更新)
查看>>
C++中基于成员函数是否是const重载成员函数
查看>>
配置EPEL YUM源
查看>>
I2C协议详解(收集网上资料)
查看>>
CEO应向软件工程师学习的7个技能
查看>>
用js怎么在网页中实现多图片自由移动
查看>>
带参数的方法
查看>>
第4节:getters计算过滤操作
查看>>
基于校园网络问题的最小生成树的两种算法
查看>>
Redis排序理论
查看>>
PhoneGap app 性能研究小结(2013网页装在兜里)
查看>>
hihocoder第七周 完全背包模板题
查看>>
hihocoder 1082 然而沼跃鱼早就看穿了一切 (替换指定的串 )
查看>>
随机数生成程序代码( 伪随机<stdlib.h> )
查看>>
链接服务器的 OLE DB 访问接口 "SQLNCLI" 无法启动分布式事务 外加SQL事务死锁问题...
查看>>