`

java反射之访问成员变量

 
阅读更多

类:

public class Phone {   
    int size = 15;   
    public float price = 2111.2f;   
    protected boolean good = true;   
   // private String brand = "iphone";   
}

 

调用:

import java.lang.reflect.Field;   
public class Test {
    public static void main(String[] args) throws Exception{   
        Phone p = new Phone();   
        
        Class c = p.getClass();   
       
        Field[] declaredFields = c.getDeclaredFields();
        //获得所有成员变量   
        for(int i = 0; i < declaredFields.length; i++) {   
            //遍历所有成员变量   
            Field field = declaredFields[i];   

            //获取成员变量的名字   
            System.out.print("名称:" + field.getName()+"\t");   
            
            //获取成员变量类型   
            Class fieldType = field.getType();   
            System.out.println("类型为:" + fieldType);
            
            //返回指定对象上词field表示的值
            System.out.println("值为\t"+field.get(p));  
        }   
    }   
}

 

结果:

名称:size	类型为:int
值为	15
名称:price	类型为:float
值为	2111.2
名称:good	类型为:boolean
值为	true

 

注意:

   访问私有变量会抛出异常!

分享到:
评论

相关推荐

    反射修改私有成员变量例子

    Java 反射机制修改私有成员变量实例 Java 反射机制是 Java 语言中一个强大的工具,它允许程序在运行时检查和修改类的结构和行为。在本例中,我们将使用 Java 反射机制来修改私有成员变量的值。 什么是 Java 反射...

    Java反射访问私有变量和私有方法.doc

    Java 反射访问私有变量和私有方法 Java 反射机制是 Java 语言中的一种强大的工具,使得我们可以在运行时装配代码,而无需在对象之间进行源代码链接,从而使代码更具灵活性。在实际测试中,我们经常需要访问类的非...

    java 利用反射获取内部类静态成员变量的值操作.docx

    本文将详细介绍如何使用Java反射技术来获取内部类中的静态成员变量的值。 #### 二、背景知识 在深入探讨之前,我们需要了解几个基本概念: 1. **内部类**:内部类是一种特殊的类,定义在另一个类(外部类)的内部。...

    Java反射机制修改私有成员变量的实现_Reflection

    标题“Java反射机制修改私有成员变量的实现_Reflection”着重讲述了如何利用反射来修改私有成员变量的值。在Java中,私有成员变量通常被视为封装的一部分,不被外部类直接访问。然而,通过反射,我们可以绕过这种...

    java使用反射访问成员变量的值示例

    通过本文,读者可以了解到反射机制在访问成员变量方面的作用和使用方法。在实际开发中,合理地运用反射可以使得代码更加灵活,但是在使用时也需要注意其可能带来的问题,比如安全性、性能等方面的问题。

    Java反射机制总结

    - **Field类**:表示类的成员变量,包括字段和静态字段。 #### 使用示例 以下是一个简单的Java反射示例,展示了如何使用反射来获取类的信息: ```java import java.lang.reflect.*; public class DumpMethods { ...

    java 反射机制例子

    在Java中,反射机制是一种非常重要的特性,它使得程序能够在运行时动态地获取类的内部信息,如类名、构造器、成员变量和方法等,并且能够直接操作这些内部结构。通过这种方式,Java反射为开发者提供了极高的灵活性,...

    java反射.pdf

    - 创建通用成员变量`Object`,并提供构造方法。 - 在`invoke`方法中实现具体的业务逻辑。 - 编写创建代理类的方法`getProxy`,使用`Proxy.newProxyInstance()`。 - 创建代理类的工厂类。 - 使用方式:通过代理...

    Java反射机制 Java反射机制

    ### Java反射机制详解 #### 一、Java反射机制概述 Java反射机制是Java语言的一个重要特性,它允许程序在运行时获取类的信息并操作对象。Java反射机制的主要作用包括:获取类的所有属性和方法、构造动态实例、调用...

    java反射机制PPT

    2. `Field`类:代表类的成员变量,提供了获取和设置字段值的方法,如`getField()`、`getDeclaredField()`等。 3. `Method`类:代表类的方法,提供了调用方法的功能,如`getMethod()`、`getDeclaredMethod()`等,...

    候捷谈Java反射机制

    Java反射机制是Java编程语言中的一个重要特性,它允许程序在运行时获取和操作任何已知名称的类的内部信息。这一机制使得Java具备了一定的动态性,虽然在传统的分类中Java被视为静态类型语言。通过反射,开发者可以在...

    java反射技术ppt

    总的来说,Java反射技术提供了强大的元数据访问和动态代码执行能力,是理解和掌握Java高级特性的关键之一。通过反射,开发者可以实现诸如插件系统、序列化、动态代理等功能,极大地提高了代码的灵活性和可扩展性。...

    java反射的demo代码

    Java反射是Java编程语言中的一个强大特性,它允许我们在运行时检查类、接口、字段和方法的信息,并且能够在运行时动态地创建对象和调用方法。这个特性在处理不确定类型、插件系统、序列化、元数据处理以及许多其他...

    Reflection_in_Java.zip_in_java 反射_java 反射机制_java反射_反射机制

    `Field`类代表类的成员变量。`getFields()`获取公共字段,`getDeclaredFields()`获取所有字段。反射允许我们读取和修改私有字段的值,这对于调试、测试或特殊逻辑很有用。 在Java反射机制中,`AccessibleObject`...

    Java反射常用机制

    3. **访问成员变量**:反射可以让我们在运行时获取并修改私有成员变量。`Field`类代表类的字段,通过`Class`对象的`getDeclaredFields()`方法获取所有字段,然后调用`set()`和`get()`方法进行读写操作。 4. **调用...

    JAVA反射机制

    - **Field**: 表示类中的一个成员变量。 - **Method**: 表示类中的一个方法。 - **Constructor**: 表示类中的一个构造器。 ##### 3.2 反射的常见用途 - **动态创建对象**:利用反射可以动态地创建类的实例。 - **...

    java 反射实例,大量注释,简单易懂

    Java反射是Java编程语言中的一个重要特性,它允许程序在运行时检查类、接口、字段和方法的信息,并且能够在运行时创建和访问这些类的对象。在Java中,反射提供了对类对象的元数据(metadata)的访问,使得我们可以...

    Java反射机制的实现_Reflection

    通过Java反射机制,开发者可以在不知道具体类名的情况下创建对象,调用方法,访问和修改私有成员变量,以及执行其他动态操作。这一机制为Java提供了高度的灵活性和强大的元数据访问能力,尤其是在框架、插件系统和...

Global site tag (gtag.js) - Google Analytics