`
xianshibian
  • 浏览: 1309 次
  • 性别: Icon_minigender_1
  • 来自: ULM
最近访客 更多访客>>
社区版块
存档分类
最新评论

通过reflection修改private变量

    博客分类:
  • J2SE
 
阅读更多

 

public class PrivateTest {
	private String name = "hello";

	public String getName() {
		return name;
	}
}

 

 

public class ReflectionTest {
	public static void main(String[] args) throws Exception {
		PrivateTest pt = new PrivateTest();
		
		Class<PrivateTest> clazz = PrivateTest.class;
		
		Field field = clazz.getDeclaredField("name");
		field.setAccessible(true);
		field.set(pt, "world");
		field.setAccessible(false);
		
		System.out.println(pt.getName());
	}
}

 

分享到:
评论

相关推荐

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

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

    reflection模拟JavaBean.rar

    2. **属性封装**:通常包含一些私有(private)成员变量,以及对应的getter和setter方法,用于外部访问和修改这些属性。 3. **命名规范**:属性名应遵循驼峰命名法,相应的getter和setter方法则是getPropertyName和...

    C#net反射实现访问类中的私有变量或者方法

    `Test`类中的`Main`方法则演示了如何使用反射来修改`ChangeValue`类实例中的私有变量。 - **获取类型**:使用`GetType()`方法获取`ChangeValue`对象的类型信息。 - **获取私有字段信息**:通过`GetField`方法,并...

    Java Reflection (JAVA反射)

    3. **测试工具:** 在单元测试中,反射可以用于调用私有方法或者访问私有变量,方便进行测试。 4. **代码生成工具:** 如JAXB等工具利用反射生成Java代码。 5. **GUI构建工具:** 如Swing Designer等工具通过反射...

    Manning - Java Reflection in Action

    2. **访问私有成员**:即使类的成员被声明为private,也可以通过反射访问它们。 3. **执行私有方法**:同样,也可以通过反射调用私有方法。 4. **实现自动注入**:在Spring框架中,通过反射技术实现了依赖注入功能。...

    Java Reflection in Action

    3. **单元测试**:反射技术可以用来访问和修改私有成员变量,这对于编写单元测试非常有用,因为可以模拟各种场景进行测试。 4. **代码生成**:利用反射技术可以在运行时动态生成代码,比如在Hibernate框架中用于动态...

    PHP面向对象程序设计之类与反射API详解共5页.pdf

    类是面向对象的基础,它定义了一组属性(成员变量)和方法(成员函数)。在PHP中,你可以使用`class`关键字来声明一个类,并使用`public`、`private`、`protected`来控制成员的访问权限。例如: ```php class ...

    C# 定位Word文档中的某个位置插入文本

    private object missing = System.Reflection.Missing.Value; ``` #### 二、打开Word文档 为了能够在Word文档中进行操作,首先需要打开目标文档。这里提供了一个示例代码,用于打开指定路径下的Word文档。 ```...

    java中dao层反射使用.doc

    Java 中的反射机制是指在程序运行时,可以动态地获取和修改类的信息和行为。Java 反射机制是通过 java.lang.reflect 类库实现的,主要包括以下几个方面: * 获取类的信息:通过 Class 对象可以获取类的信息,如类的...

    java反射机制

    在这个例子中,我们首先通过`Class.forName()`获取`ReflectionExample`类的Class对象,然后获取其带参数的构造器并创建对象。接着,我们通过反射访问并修改私有字段`name`的值,最后调用`sayHello`方法。这就是Java...

    易语言从外部取类成员

    - 这两个操作是面向对象编程中的基本操作,通过对象的引用调用成员函数来修改或获取成员变量的值。 5. **指针到整数_**: - 在易语言中,指针可以用来间接访问内存地址上的数据。"指针到整数_"可能是将指针转换为...

    Java语言的反射机制

    3. **访问和修改私有属性和方法**:即使类的成员变量或方法被声明为private,反射机制也能访问和修改它们。 4. **动态调用方法**:可以调用任意一个对象的方法,无论其访问权限如何。 5. **生成动态代理**:用于实现...

    android 反射机制 简单示例

    在Android开发中,反射机制是一种强大的工具,它允许我们在运行时动态地获取类的信息或调用私有方法、访问私有变量,甚至修改类的行为。本文将深入探讨反射的概念、工作原理以及如何在Android中使用反射,通过一个...

    通过c#创建基于模板的Word文档

    ### 通过C#创建基于模板的Word文档 在日常办公自动化任务中,经常需要批量创建具有固定格式的Word文档。这种需求可以通过编程语言实现自动化处理,以提高工作效率。本篇文章将详细介绍如何使用C#编程语言结合Word...

    PHP实现在对象之外访问其私有属性private及保护属性protected的方法

    3. **克隆(clone)对象**:如`yunke`类的`merge()`方法所示,通过克隆对象,然后修改克隆对象的属性,可以达到改变原对象属性的效果,但这种方法并不直接访问原对象的私有属性,而是创建了一个独立的副本。...

    C#版本的一个封装和反射实例

    在C#中,我们通过访问修饰符(如public、private、protected等)来实现封装,以控制类成员对外的可见性。例如,我们可能会创建一个私有字段来存储数据,并提供公共方法来访问或修改这些数据,这既保护了数据的安全性...

    Java软件开发实战 Java基础与案例开发详解 15-1 反射 共13页.pdf

    反射不仅可以用于创建对象,还可以用于调用方法和修改成员变量: 1. **调用方法**: - 使用`getMethod`或`getDeclaredMethod`获取方法对象。 - 使用`invoke`方法调用该方法。 ```java Method method = clazz....

    Java常用英语单词

    23. **反射(Reflection)**:在运行时检查和修改程序的能力,如获取类信息、创建对象、调用方法等。 24. **JNI(Java Native Interface)**:允许Java代码和其他语言写的代码进行交互。 25. **JVM(Java Virtual ...

    php反射api.pdf

    `Reflection::export()`方法用于导出类或方法的详细信息,而`Reflection::getModifierNames()`则用于获取修饰符(如public、protected、private)的名称。 2. ReflectionException类: 这个类是异常处理的一部分,...

    第12章 反射.docx

    - `getDeclaredField(String name)` 获取具有指定名称的特定成员变量的Field对象,包括私有(private)和受保护(protected)的。 Field对象代表类的成员变量,它可以用来读取和设置变量的值。例如: - `set...

Global site tag (gtag.js) - Google Analytics