`
yxx676229549
  • 浏览: 73894 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

反射调用私有方法

 
阅读更多

反射调用构造方法和私有方法

 

import java.lang.reflect.Constructor;
import java.lang.reflect.Method;


public class PrivateTest {

	public static void main(String[] args) throws Exception{
		Class<?> clazz = Private.class;
		Constructor<?> constructor = clazz.getConstructor(new Class<?>[]{String.class,int.class});
		Object obj = constructor.newInstance("star",23);
		Method method = clazz.getDeclaredMethod("doPrivate", new Class<?>[]{});
		method.setAccessible(true); //压制访问修饰符的检查
		String results = (String) method.invoke(obj);
		System.out.println(results);
	}
}

class Private{
	private String name;
	private int age;
	
	public Private(String name,int age){
		this.name = name;
		this.age = age;
	}
	
	private String doPrivate(){
		return "name:"+name+"   age:"+age;
	}
}
 
分享到:
评论

相关推荐

    java 反射 调用私有方法(有参数私有方法)获取私有属性值

    这个能力使得开发者可以突破静态类型的束缚,实现一些在编译时期无法完成的功能,如访问私有成员、调用私有方法以及操作非公有的属性。 在Java中,私有方法和私有属性通常不允许外部类直接访问,这是为了保护类的...

    C#私有成员反射调用类库

    要使用反射调用私有方法,首先需要获取到包含该方法的类型实例,然后找到相应的方法信息,最后通过Invoke方法执行该方法。以下是一个简单的示例: ```csharp using System; using System.Reflection; class ...

    利用java反射机制调用类的私有方法(推荐)

    通常,只有在确实有需求且无其他更好解决方案时,才会考虑使用反射调用私有方法。 总结来说,Java反射机制提供了调用私有方法的能力,这主要通过`java.lang.reflect.Method`类实现。虽然这种能力强大,但过度使用...

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

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

    java反射机制,调用私有方法

    注意,调用私有方法时,通常需要使用`setAccessible(true)`来绕过Java的访问控制,但这可能带来安全风险,因此需谨慎使用。 总的来说,Java反射机制提供了强大的编程能力,但同时也需要开发者对程序的运行行为有...

    Java方法反射调用demo

    最后,我们来看如何调用私有方法。由于私有方法在外部不可见,我们需要使用`getDeclaredMethod`而不是`getMethod`,并且可能需要设置访问权限: ```java Method privateMethod = MyClass.class.getDeclaredMethod(...

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

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

    Java 反射详解(包含私有方法属性的调用)

    例如,`Method`类的`setAccessible(true)`方法可以将某个方法或字段设置为可访问,从而可以调用私有方法或修改私有属性。这在测试、调试或者特定场景下很有用,但也要谨慎使用,因为它破坏了封装性,可能引入安全...

    通过反射调用静态方法

    本文将详细讲解如何通过反射调用静态方法,并探讨在特定场景下,如MyBatis中的应用。 首先,理解反射的概念是至关重要的。在Java中,反射API(java.lang.reflect)允许我们获取类的信息,包括类名、构造函数、方法...

    frida反射调用对象中的方法与字段.pdf

    - `getDeclaredMethods`:这个方法可以用来获取对象的所有声明方法,同样包括公有、保护、默认(包)访问和私有方法,但不包括继承的方法。 - `getDeclaredField(String name)`:这个方法可以用来获取对象中特定名称...

    junit测试private函数

    我们创建了`MyClass`的实例,通过反射调用私有方法,并验证返回值是否正确。 需要注意的是,虽然反射提供了一种测试私有方法的途径,但这并不意味着我们应该频繁地这样做。私有方法通常是内部实现细节,如果它们对...

    php反射方法调用执行类中的私有方法.zip

    介绍一篇关于PHP通过反射方法调用执行类中的私有方法,希望这篇教程能够帮助到各位朋友,有兴趣的可以进来看看。具有完整的反射 API,添加了对类、接口、函数、方法和扩展进行反向工程的能力。

    反射高手巧妙实现强行私有成员源代码,java跨域范围

    同样的,也可以使用反射调用私有方法。`Method`类提供了`getDeclaredMethod()`方法用于获取指定的私有方法,然后通过`invoke()`方法执行这个方法: ```java private void privateMethod() { System.out.println(...

    Java反射调用方法

    在给定的代码中,`TestRef` 类展示了如何使用Java反射调用方法。首先,我们创建了一个 `Foo` 类,它有一个私有字符串成员变量 `msg` 和三个方法:`setMsg`、`getMsg` 和 `outInfo`。`main` 方法是演示反射调用的入口...

    C# 加载Dll 使用反射 调用对应的方法公开方法,私有方法,泛型方法

    以下是如何调用私有方法的示例: ```csharp MethodInfo privateMethod = myType.GetMethod("PrivateMethod", BindingFlags.NonPublic | BindingFlags.Instance); privateMethod.Invoke(instance, new object[] { ...

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

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

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

    在本篇文章中,我们将深入探讨如何利用C#中的反射机制来访问类中的私有变量或方法。通过一个具体的示例代码,我们将详细了解反射的基本概念、使用场景以及如何具体操作。 ### 一、C#反射机制简介 #### 1.1 什么是...

    反射调用private方法实践(php、java)

    总之,反射调用私有方法在特定场景下是有用的,特别是在测试和调试过程中。然而,它应当被视为一种特殊手段,而不是常规的编程实践。理解并明智地使用反射,才能充分利用它的优点,同时避免潜在的问题。

    MediaController反射修改

    3. **反射调用私有方法和字段**:通过反射,可以调用私有构造函数、方法和访问私有字段,如`setAccessible(true)`可以使私有成员可访问。 4. **修改UI元素**:可能需要修改`MediaController`中的UI元素,例如改变...

Global site tag (gtag.js) - Google Analytics