`

简单反射调用方法

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

public class DynamicLoading {
	 public static void main(String[] args) throws Exception {
		 String s = "A";
		 //加载类文件
		 Class c = Class.forName(s);
		 //创建对象
		 Object obj = c.newInstance();
		 //获得方法数组
		 Method[] methods = c.getMethods();
		 for(Method m:methods){
			 if(m.getName().equals("mm")){
				Class[] sarrary = new Class[]{int.class,String.class};
				//获得方法
				Method m2 = c.getDeclaredMethod("mm",sarrary); 
				//调用方法
				m2.invoke(obj,1,"lkjlkj");
				m.invoke(obj,1,"lkjlkj");
				//获得参数类型
				for(Class paraType:m.getParameterTypes()){
					System.out.println(paraType.getName()+"----------para");
				}
				//获得返回值类型
				Class  returnType = m.getReturnType();
				System.out.println(returnType.getName()+"------------returnType");
			 }
		 }
		 
		 Method TT = c.getDeclaredMethod("TT"); 
		 TT.invoke(obj);
	}
}

class A {
	public void mm(int i,String s){
		System.out.println("------mm invoked-----"+i+"===="+"======"+s);
	}
	public void TT(){
		System.out.println("-----TT invoked");
	}
}
分享到:
评论

相关推荐

    详解Golang利用反射reflect动态调用方法

    ### Golang 反射 Reflect 动态调用方法详解 #### 一、引言 反射是许多现代编程语言中的一项重要特性,它允许程序在运行时检查和操作自身的内部结构。Go 语言同样具备这样的能力,它通过 `reflect` 包提供了一套...

    通过反射调用静态方法

    以下是一个简单的示例,演示如何使用反射调用静态方法: ```java public class ClsTool { public static void staticMethod(String arg) { System.out.println("调用了静态方法,参数为:" + arg); } } public ...

    C#实现反射调用动态加载的DLL文件中的方法

    ### C#中使用反射调用动态加载的DLL文件中的方法 #### 反射的作用与应用场景 反射是.NET框架中的一项重要技术,它允许程序在运行时动态地获取自身的元数据(如类、方法、属性等)并进行操作。具体而言,反射主要有...

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

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

    反射机制例子及反射方法调用

    2. 动态调用方法:反射机制允许我们在运行时动态地调用方法,这使得我们的程序更加灵活和可扩展。 3. 提高代码复用性:反射机制可以使我们的代码更加灵活和可扩展,从而提高代码的复用性。 反射机制的应用场景: 1...

    反射,动态加载指定类调用类中的方法

    反射机制使得我们能够在运行时动态地获取类的信息,并且能够创建对象、调用方法、访问字段,甚至改变类的行为。在Java中,`java.lang.reflect`包提供了对反射的支持。 在“反射,动态加载指定类调用类中的方法”这...

    c#反射调用方法示例

    C# 反射调用方法示例 C# 反射是指在运行时获取类的信息和调用类的成员的技术。反射是一种允许用户获得类信息的 C# 功能,Type 对象映射它代表的底层对象。在 .Net 中,一旦获得了 Type 对象,就可以使用 GetMethods...

    C# 通过反射调用com组件

    C# 通过反射调用com组件,封装了几个简单的方法方便使用反射调用com。 var obj=new ComObj("excel.application"); obj["Visible"]=true; obj. InvokeMethod("Application.Workbooks.Open", fileName);

    C#高效反射调用方法类实例详解

    C#高效反射调用方法类实例详解 本篇文章主要介绍了C#中高效反射调用方法类的实例内容,涉及到反射机制、方法调用、类实例化等知识点。下面将详细解释相关知识点: 1. 反射机制:在C#中,反射机制是指通过反射类型...

    Java 反射调用静态方法的简单实例

    在Java编程中,反射是一种强大的工具,它允许我们在运行时检查类、接口、字段和方法的信息,并能在不知道对象具体类型的情况下动态...但是,反射操作通常比直接调用方法慢,且可能导致安全问题,因此在使用时应谨慎。

    反射调用assets下的jar

    以下是一个简单的示例代码片段,展示了如何通过反射调用assets下JAR文件中的方法: ```java // 获取AssetManager AssetManager assetManager = getAssets(); // 读取JAR文件到内存流 InputStream inputStream = ...

    webservices动态调用方法

    5. **利用反射调用方法**:最后,通过反射机制,我们可以实例化生成的客户端代理类,并调用其中的方法来执行实际的Web Service请求。 以下是一个简单的示例,展示了如何动态调用名为`WebService`的Web Service,该...

    绑定服务调用服务里的方法

    在提供的压缩包文件“demo调用服务里的方法”中,可能包含了一个简单的示例项目,展示了如何使用`bindService`来调用服务中的方法。你可以下载并运行这个例子,加深对绑定服务的理解。 通过以上的介绍,你应该已经...

    QLibrary 加载动态库详细用法,封装调用方法,使用简单快速、方法使用 Qt 反射更快捷.7z

    QLibrary 加载动态库详细用法,封装调用方法,使用简单快速、方法使用 Qt 反射更快捷.7z

    C#反射简单入门实例

    反射是一种在运行时分析类型的能力,它使我们能够动态地获取类型信息,并基于这些信息创建对象、调用方法或访问字段。在C#中,System.Reflection命名空间提供了所有与反射相关的类和方法。 2. 获取类型信息 要获取...

    php 反射简单例子

    同样,反射也可以用来动态调用方法,即使这个方法是私有的或受保护的: ```php $method = $reflection->getMethod('privateMethod'); $method->setAccessible(true); $result = $method->invoke($instance, $arg1, ...

    C#_.NET_动态调用webservice的三种方式

    最后,我们可以使用反射调用相关WebService方法。我们可以使用System.Reflection命名空间中的MethodInfo类来调用WebService方法。 需要引用的名称空间 在动态调用WebService时,我们需要引用以下四个名称空间: * ...

    java反射获取和调用方法

    Java 反射机制获取和调用方法详解 Java 反射机制是 Java 语言的高级特性之一,通过反射机制可以在运行时动态地获取和调用类的成员变量、方法和构造方法等。下面将详细讲解 Java 反射机制获取和调用方法的相关知识点...

    在C++中反射调用.NET的方法(一)

    在NetLib项目中,我们定义了一个简单的.NET类`User`,包含了几个方法用于测试反射调用,如`GetUserID`、`GetUserBirthday`和`GetUserByID`。这些方法没有复杂的业务逻辑,只是为了演示反射调用。 在C++/CLI项目中,...

    利用java反射机制实现自动调用类的简单方法

    4. **反射调用的步骤**: - 获取类的`Class`对象:`Class<?> t_class = Class.forName(className);` - 获取指定方法:`Method method = t_class.getDeclaredMethod(methodName, HttpServletRequest.class, ...

Global site tag (gtag.js) - Google Analytics