`

使用Java反射机制实现访问类中的私有变量或者方法

    博客分类:
  • J2SE
阅读更多
import java.lang.reflect.Field;
import java.lang.reflect.Method;

public class ReflectDemo {

    public static void main(String[] args) throws Exception {

        PrivateTest t = new PrivateTest();
        Field field = Class.forName("com.test.PrivateTest").getDeclaredField(
                "str");
        // 不让Java语言检查访问修饰符
        field.setAccessible(true);
        field.set(t, "world");
        t.getStr();

        Method method2 = Class.forName("com.test.PrivateTest")
                .getDeclaredMethod("method", new Class[] {});
        method2.setAccessible(true);
        method2.invoke(t, new Object[] {});

    }
}

class PrivateTest {
    private String str = "hello";

    public void getStr() {
        System.out
                .println("I'm str,I'm a private field,my old value is hello,now I am --->"
                        + str);
    }

    private void method() {
        System.out.println("I'm in a private method!");
    }
}

--------------结果---------------------
I'm str,I'm a private field,my old value is hello,now I am --->world
I'm in a private method!

分享到:
评论

相关推荐

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

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

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

    在提供的"reflectionNew"文件中,可能包含了一些关于如何实现上述过程的示例代码或进一步的解释,如果需要深入学习,可以详细查看这个文件内容,以便更好地理解和掌握Java反射机制修改私有成员变量的方法。

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

    在本例中,我们将使用 Java 反射机制来修改私有成员变量的值。 什么是 Java 反射机制? Java 反射机制是 Java 语言中一个内置的机制,它允许程序在运行时检查和修改类的结构和行为。反射机制提供了一种方式来在...

    java * 反射工具类. 提供调用getter/setter方法, 访问私有变量, 调用私有方法, 获取泛型类型Class

    提供调用getter/setter方法, 访问私有变量, 调用私有方法, 获取泛型类型Class,java * 反射工具类. 提供调用getter/setter方法, 访问私有变量, 调用私有方法, 获取泛型类型Class,java * 反射工具类. 提供调用getter/...

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

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

    JAVA反射机制的入门代码

    Java反射机制是Java编程语言中的一个强大特性,它允许运行中的Java程序对自身进行检查并且可以直接操作程序的内部属性。这个特性使得Java具有了高度的灵活性和动态性,尤其是在处理元数据、创建对象、调用私有方法...

    java 反射工具类. 提供调用getter/setter方法, 访问私有变量, 调用私有方法, 获取泛型类型Class

    提供调用getter/setter方法, 访问私有变量, 调用私有方法, 获取泛型类型Class, 被AOP过的真实类等工具函数.反射工具类. 提供调用getter/setter方法, 访问私有变量, 调用私有方法, 获取泛型类型Class, 被AOP过的真实...

    Java反射机制的实现_Reflection

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

    使用java反射机制实现java的深拷贝

    此外,为了提高性能,实际应用中可以考虑使用序列化或克隆方法,或者针对特定类实现专门的拷贝构造函数或`copy()`方法。 总结来说,Java反射机制为我们提供了动态访问和操作类的能力,可以用来实现对象的深拷贝。...

    Java对类私有变量的暴力反射技术讲解

    Java对类私有变量的暴力反射技术讲解是Java语言中的一种技术,用于访问和修改类中的私有变量。私有变量是指在类中声明的私有成员变量,以private关键字修饰的变量。这些变量只能在声明的类中访问,外部类或对象无法...

    Java反射机制 Java反射机制

    Java反射机制的主要作用包括:获取类的所有属性和方法、构造动态实例、调用类的方法等。通过反射,程序可以动态地创建对象和调用其方法,从而实现更灵活的功能。 #### 二、Java反射机制的由来与发展 Java反射机制...

    候捷谈Java反射机制

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

    java 反射机制例子

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

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

    Java反射机制是Java编程语言中一个强大的特性,它允许运行时的程序动态地获取类的信息并操作类的对象。在Java中,反射主要涉及到`java.lang.Class`类、`java.lang.reflect`包下的类如`Constructor`、`Method`和`...

    java 反射机制详解

    Java 反射机制是 Java 语言中的一个重要特性,它允许程序在运行时动态地获取类的信息(如类名、属性、方法等)并调用对象的方法,甚至修改对象的状态。这一机制极大地增强了 Java 程序的灵活性和可扩展性,尤其是在...

    Java反射机制经典案例

    Java反射机制是Java编程语言中的一个强大特性,它允许程序在运行时检查和操作类、接口、字段和方法的信息,甚至能够在不知道具体类名的情况下创建和调用对象的方法。这为程序员提供了高度的灵活性和动态性,使得Java...

    java反射机制详解

    ### Java反射机制详解 #### 一、反射机制是什么 反射机制是Java编程语言的一个核心特性,它允许程序在运行时动态地获取类的信息,并且能够动态地创建对象和调用对象的方法。简单来说,反射机制使得Java程序可以...

    JAVA反射机制详解

    通过这些API,Java反射机制能够提供强大的动态性,使得程序能够在不直接引用类的情况下获取类的类型信息、创建对象实例、访问和修改成员变量以及调用方法。不过,反射机制也有一些潜在的缺点,例如可能会破坏封装性...

Global site tag (gtag.js) - Google Analytics