`
ttitfly
  • 浏览: 623998 次
  • 性别: 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

相关推荐

    依赖属性实现绑定

    在WPF中,可以将控件的依赖属性与数据模型的某个属性绑定,使两者保持同步。例如,将`MyCustomButton`的`ButtonText`属性绑定到数据源的`Message`属性: ```xml ``` 在此场景中,`MyCustomButton`的`Button...

    【05-面向对象(下)】

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

    JAVA教程Java语言中的面向对象特性推荐.pdf

    一个对象是对现实世界中某个事物的模拟,包含了描述该事物的属性和能够对这些属性进行操作的方法。对象通过消息传递进行通信,消息是对象间交互的方式,包含服务请求的信息。 类是面向对象编程的基础,它是一种抽象...

    java对象类余接口的学习

    Java中的继承和多态是面向对象...以上内容涵盖了Java中关于类和接口的基本概念,包括继承、多态、方法覆盖、类型转换等,这些都是理解Java面向对象编程的基础。对于初学者来说,掌握这些知识点是深入学习Java的前提。

    最新精选2019年大学JAVA期末考试题库500题(含答案).doc

    19. 访问控制:Java的访问控制修饰符包括public、private、protected和包访问权限,决定了其他类能否访问某个成员。 20. 异常处理:Java中的异常处理通过try-catch-finally语句块实现,可以捕获并处理运行时错误。 ...

    java面试题

    Java面试题目包含了Java基础知识、集合框架、多态性、异常处理、运算符、断言以及类和接口的概念等多个方面。下面详细展开各个知识点: 1. Java类的作用域:Java中类和对象有四种访问权限修饰符,分别是public, ...

    java复习笔记(期末考试复习).docx

    Java复习笔记(期末考试复习) Java 是一种广泛应用于桌面程序、企业级开发、嵌入式开发的编程语言。下面是 Java 的一些...强制类型转换需要父类和子类之间存在继承关系,且子类拥有比父类更多的属性、更强的功能。

    CoreJava学习笔记

    它包含了该类定义的所有属性和方法。 **成员变量和局部变量:** 1. 成员变量属于类的一部分,通常用于存储类的状态。 2. 局部变量在方法或代码块中声明,只在该方法或代码块内有效。 **成员方法:** 成员方法...

    Java语言常用的方法名.doc

    - **定义**: 静态变量是在类级别定义的变量,属于整个类而不是类的某个实例。 - **特点**: 静态变量对于类的所有实例都是共享的。 - **用途**: 静态变量通常用于存储类级别的配置信息或统计计数等。 #### 十九、...

    java名词速查表 java名词速查表

    - **分类**:分为自动类型转换和强制类型转换两种。 #### char (字符类型) - `char`是Java的基本数据类型之一,用于表示单个字符。 - **大小**:占用16位。 #### Child class (子类) - 子类是从另一个类(父类)...

    Java-Java面向对象编程教程

    一个类可以看作是现实世界中某个实体的抽象,它包含属性(Fields,也称为成员变量)来存储数据,以及方法(Methods)来执行特定操作。使用访问修饰符(如public, private, protected)可以控制类的成员对外部代码的...

    第六章 JAVA语言中的面向对象特性.rar_java 面向对象

    接口提供了另一种形式的多态性,一个类可以实现多个接口,强制类必须实现接口中所有的抽象方法。接口使用`interface`关键字定义。 至于内嵌类(Inner Class),Java提供了四种类型的内嵌类:成员内嵌类、局部内嵌类...

    JAVA上课笔记class_03

    `instanceof`关键字用于检查一个对象是否是某个类的实例,在进行类型转换前进行检查可以避免运行时错误。 以上知识点构成了Java编程的基础框架,掌握它们对于理解和编写Java程序至关重要。通过实践和不断学习,你...

    php5面向对象

    但是,如果类中包含引用类型的属性,如数组或对象,克隆后的对象将共享这些引用,除非使用深拷贝或在`__clone()`魔术方法中显式复制这些属性。 例如: ```php class Product { public $name; public $options; ...

    C#常用控件和类的使用

    C#中的类是面向对象编程的基础,它定义了一组属性和方法,代表特定类型的数据和行为。 1. **属性**:用于存储数据,通常带有访问修饰符(public, private等),确保数据的安全性。 2. **方法**:执行特定任务的操作...

    2014年Java最全面试题以及答案.

    抽象类可以包含属性、方法的实现,而接口只包含方法的声明。Java 8之后,接口也可以包含默认方法和静态方法的实现。 18. 什么是类的反射机制? 反射机制是指在运行时动态获取类的信息和调用类的方法或访问类的属性的...

    V20-Java笔记整理-重要概念和常见陷阱梳理.docx

    - **向下转型**:父类引用可以显式地转换为子类类型。 - **instanceof**:判断对象是否为某个类的实例。 **5.8 子类对父类属性的继承与隐藏** - 子类可以继承父类的属性,也可以声明与父类相同的属性名,此时子类...

    java中常用的异常类型.docx

    - **类型强制转换异常 (`ClassCastException`)**:当试图将一个对象强制转换为不兼容的子类型时发生。 - **数组负下标异常 (`NegativeArraySizeException`)**:当创建数组时指定了一个负数作为长度时抛出。 - **文件...

    JAVA SE基础篇-资料整理

    类型转换在 Java 中是一种常见的操作,主要包括自动类型转换和强制类型转换两种形式。 1. **自动类型转换**:当两种类型之间存在兼容关系时,例如从较小的类型到较大的类型转换,Java 会自动进行类型转换。 例如...

Global site tag (gtag.js) - Google Analytics