`
ttitfly
  • 浏览: 616979 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

强制性得到某个类里某个属性的类型(包括private)

    博客分类:
  • java
阅读更多

强制性得到某个类里某个属性的类型(包括private)

例子如下:

java 代码
  1. package test;   
  2.   
  3. public class TestAction {   
  4.   
  5.     private TestManager manager  = new TestManager();   
  6.        
  7. }   

 

java 代码
  1. package test;   
  2.   
  3. public class TestManager {   
  4.   
  5. }   

 

java 代码
  1. package test;   
  2.   
  3. import java.lang.reflect.Field;   
  4.   
  5. public class Test3 {   
  6.     public static void main(String[] args){   
  7.         try{   
  8.                
  9.             TestAction testAction = new TestAction();   
  10.             Object object = testAction;   
  11.             System.out.println(object.getClass());//class test.TestAction   
  12.                
  13.             Field field = object.getClass().getDeclaredField("manager");   
  14.                
  15.             boolean accessible = field.isAccessible();   
  16.             field.setAccessible(true);   
  17.        
  18.             Object result = null;   
  19.                
  20.             result = field.get(object);   
  21.                
  22.             field.setAccessible(accessible);   
  23.                
  24.             System.out.println(result);   
  25.         }catch(Exception e){   
  26.             e.printStackTrace();   
  27.         }   
  28.     }   
  29. }   

 

打印结果为:

class test.TestAction
test.TestManager@9cab16

分享到:
评论
1 楼 zhouyaguo 2008-05-07  
用getDeclaredField了,好像不需要用field.setAccessible(true);  也可以得到private的field

相关推荐

    【05-面向对象(下)】

    抽象类里可以包含构造器,抽象类里的构造器并不是用于创建对象,而让其子类调用这些构 造器来完成属于抽象类的初始化操作。 •接口里不能包含初始化块,但抽象类则完全可以包含初始化块。 •一个类最多只能有一个...

    \java超强笔记(超级经典)

    指定泛型后,取出数据时不需要进行强制类型转换,可以直接赋值给相应类型。 可以限定集合中的元素类型,保证集合中的元素是按照要求放入的。 可以增强多态(继承多个接口而无需写继承类)。 保证参数有效...

    VBSCRIPT中文手册

    单击左边的某个标题,即显示该部分中包含的项目列表。从这张列表中选择要查看的主题。当这个主题打开后,再链接到其他相关的部分就简单多了。 好了,让我们试一试,体会体会!学习几个语句,研究几种方法,或者熟悉...

    vb Script参考文档

    单击左边的某个标题,即显示该部分中包含的项目列表。从这张列表中选择要查看的主题。当这个主题打开后,再链接到其他相关的部分就简单多了。 好了,让我们试一试,体会体会!学习几个语句,研究几种方法,或者熟悉...

    java 面试题 总结

    引用类型和原始类型具有不同的特征和用法,它们包括:大小和速度问题,这种类型以哪种类型的数据结构存储,当引用类型和原始类型用作某个类的实例数据时所指定的缺省值。对象引用实例变量的缺省值为 null,而原始...

    VBScript 语言参考中文手册CHM

    Description 属性 返回或者设置说明某个错误的字符串。 Dictionary 对象 存储数据键、项目对的对象。 Dim 语句 声明变量并分配存储空间。 除法运算符 (/) 两数相除并以浮点数格式返回商。 Do...Loop 语句 当条件...

    VBScript 语言参考

    Description 属性 返回或者设置说明某个错误的字符串。 Dictionary 对象 存储数据键、项目对的对象。 Dim 语句 声明变量并分配存储空间。 除法运算符 (/) 两数相除并以浮点数格式返回商。 Do...Loop 语句 当条件...

    VBSCRIP5 -ASP用法详解

    Description 属性 返回或者设置说明某个错误的字符串。 Dictionary 对象 存储数据键、项目对的对象。 Dim 语句 声明变量并分配存储空间。 除法运算符 (/) 两数相除并以浮点数格式返回商。 Do...Loop 语句 当条件...

    超级有影响力霸气的Java面试题大全文档

    引用类型和原始类型具有不同的特征和用法,它们包括:大小和速度问题,这种类型以哪种类型的数据结构存储,当引用类型和原始类型用作某个类的实例数据时所指定的缺省值。对象引用实例变量的缺省值为 null,而原始...

    java面试800题

    《java面试800题(包括java,数据库,前台等,绝对全面)》 Q0027 哪些SQL语句在执行时是自动提交的? 数据定义语言DDL是自动提交的。 Q0028 索引对数据库的影响? 提高查询速度 Q0029 主外键有什么关系? 外键是从...

    Spring.net框架

    这里的抽象既包括抽象类也包括接口。我不想过多的去谈抽象类和接口的区别,在后续的例子中我们将使用接口。由于接口在进行“动态代理” 时仍能保持类型信息,而抽象类可能由于代理的原因导致继承关系的“截断”(如...

    freemarker总结

    options:该参数可以省略,指定包含时的选项,包含encoding和parse两个选项,其中encoding指定包含页面时所用的解码集,而parse指定被包含文件是否作为FTL文件来解析,如果省略了parse选项值,则该选项默认是true. ...

    新版Android开发教程.rar

    开放手机联盟包括手机制造商、手机芯片厂商和移动运营商几类。目前,联盟成员 数 量已经达到了 43 家。 移动手机联盟创始成员: Aplix 、 Ascender 、 Audience 、 Broadcom 、中国移动、 eBay 、 Esmertec 、谷歌、...

Global site tag (gtag.js) - Google Analytics