/**
*
*/
package test8_15;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
/**
*
* Simple to Introduction
* @ProjectName: [测试]
* @Package: [test8_15.testInvoke.java]
* @ClassName: [testInvoke]
* @Description: [测试反射机制]
* @Author: [孟宪光]
* @CreateDate: [2014-8-15 下午3:43:18]
* @UpdateUser: [mengxianguang]
* @UpdateDate: [2014-8-15 下午3:43:18]
* @UpdateRemark: [说明本次修改内容]
* @Version: [v1.0]
*
*/
public class testInvoke {
public static void main(String[] args) throws IllegalArgumentException, IllegalAccessException, InvocationTargetException, InstantiationException, SecurityException, NoSuchMethodException {
Class clazz;//定义一个类
Object obj=null;//定义一个对象
try {
clazz = Class.forName("java.util.HashSet");//根据类名获得一个类
obj=clazz.newInstance();//实例化一个对象
Method[]methods=clazz.getMethods();//得到类的所有方法
for(Method method:methods){
System.out.println(method.getName());//输出所有的方法名
}
//现在想用该类中的一个方法例如add(前提是之前的方法中已经有)
//定义一个方法对象
Method method=clazz.getMethod("add", Object.class);
//使用该方法,通过定义的method
method.invoke(obj, "a");
method.invoke(obj, "b");
method.invoke(obj, "c");
//现在输出对象中增加的值
System.out.println(obj);
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
分享到:
相关推荐
P/Invoke Interop Assistant是一个非常实用的工具,它专门用于帮助C#或VB.NET开发者将C或C++的函数和数据类型转换为.NET Framework兼容的形式。这个工具的主要目的是解决跨语言互操作性问题,即所谓的“平台调用”...
在Windows Forms或WPF等UI环境中,由于UI元素(如控件)只能在其创建的线程(即UI线程)中进行修改,因此,当需要在后台线程更新UI时,`Invoke`和`BeginInvoke`就显得尤为重要。这两个方法都是`Control`类的成员,...
### C#窗体中Invoke和BeginInvoke方法详解 在探讨C#窗体中`Invoke`和`BeginInvoke`方法的使用及其重要性之前,我们首先需要理解.NET框架下的多线程与GUI操作的基本原则,以及为何这两者在跨线程更新GUI时不可或缺。...
P/Invoke Interop Assistant,它支持托管代码和非托管代码之间的方法签名的转换,而且直接生成相关的C#或者是VB的方法调用代码。这个签名的转换,不只是适用于Windows的方法签名,只要给定一个C头文件,就可以转换...
在C#编程中,`Invoke`是一个非常关键的概念,尤其在多线程编程中发挥着重要作用。`Invoke`主要用于更新UI(用户界面)控件,因为UI控件通常不是线程安全的,也就是说,它们只能在创建它们的线程中进行修改。这个特性...
Ivoke-WCMDump 什么是Credential Manager ...从Credential Manager导出Windows凭据的Powershell脚本 https://github.com/peewpw/Invoke-WCMDump PS>Import-Module .\Invoke-WCMDump.ps1 ...Invoke-WCMDump
《P/Invoke.NET工具详解:实现托管代码与非托管代码的无缝交互》 在软件开发过程中,有时我们需要在.NET Framework的托管代码环境中调用非托管的C/C++库或者WinAPI函数,这时就需要借助P/Invoke(Platform Invoke)...
《P/Invoke Interop Assistant:跨语言互操作的利器》 在.NET框架中,与非托管代码(如C++编写的动态链接库DLL)交互是一个常见的需求,这就是P/Invoke(Platform Invoke)技术的用武之地。P/Invoke Interop ...
### Invoke与BeginInvoke的区别 #### 一、基本概念 在.NET框架中,`Invoke` 和 `BeginInvoke` 是两个常用的方法,主要用于实现跨线程访问控件或执行操作。这两种方法通常出现在多线程编程场景中,特别是当涉及到UI...
《Python库Invoke 1.4.1:提升命令行任务执行效率》 Invoke是一个强大的Python命令行工具,专为编写可复用的shell脚本和命令设计,它为Python开发者提供了一种优雅的方式来组织和执行复杂的任务。在本文中,我们将...
《网络安全红队资源:Invoke-AtomicRedTeam深度解析》 在网络安全领域,红队与蓝队的对抗犹如猫鼠游戏,不断提升着攻击与防御的技术水平。"Invoke-AtomicRedTeam"是一个专门针对红队行动的工具集,它为网络安全专家...
《Python库Invoke 0.11.0深度解析》 在Python的世界里,库是开发者的重要工具,它们提供了丰富的功能,极大地提高了开发效率。今天我们要深入探讨的是一个名为`invoke`的库,版本号为0.11.0,它是一个强大的任务...
本文将深入探讨委托的使用,特别是`Delegate`的`Invoke`方法,以及如何在实际编程中应用这些概念。 首先,让我们了解什么是委托。在C#中,委托是一种引用类型,它定义了一种方法签名,也就是说,它规定了可以关联到...
- 如果需要通过Invoke调用,则使用`listView1.Invoke(dailiEvent)`; - 否则,直接调用`dailiEvent()`。 **Invoke方法的细节**: - `Invoke`方法接受一个委托对象作为参数,并调用该委托所指向的方法。 - `...
AutoCAD .NET ARX Invoke是AutoCAD开发中的一个重要概念,主要涉及到使用.NET Framework与AutoCAD的ARX(Acad Runtime Extension)应用程序之间的交互。在AutoCAD的开发环境中,.NET和ARX是两种不同的扩展机制,前者...
在这个“WinForm下多线程配合Invoke函数ping百度实例”中,我们将深入探讨如何在VB.NET环境下使用多线程和Invoke方法来并发执行任务,并与主线程执行进行对比。 首先,让我们了解什么是多线程。在计算机编程中,...
本篇将详细讲解如何利用代理和`Invoke`方法实现这一标准技术。 首先,我们需要理解Windows窗体应用程序(WinForms)或WPF中的控件都有一个关联的线程,称为UI线程。任何对UI控件的修改,如改变文本、颜色或者位置,...
《精通.NET互操作:p/invoke, c++ interop和COM interop》这本书深入探讨了.NET框架中的三种主要互操作技术,即平台调用(P/Invoke)、C++互操作(C++ Interop,也称为StructLayoutAttribute)以及组件对象模型...