反射认识_04_反射调用类方法Method

包1:

package ReflectionMethod;

public class ReflectionMethod {
	String str1="str1";

	public void outStr1(){
		System.out.println("输出第一个字符串:"+str1);
	}
	public void outStr2(String str2){
		System.out.println("输出第二个字符串:"+str2);
	}
	public void outStr3(String str3,String str4){
		System.out.println("输出第三个字符串:"+str3);
		System.out.println("输出第四个字符串:"+str4);
	}
}

  

包2:

package ReflectionMethod;

import java.lang.reflect.Method;

public class ReflectionAchieve {

	public static void main(String[] args) throws Exception {
		ReflectionMethod rp=new ReflectionMethod();
		useMethod(rp);
	}

	public static void useMethod(Object obj) throws Exception{
		/*调用方法1,不带参数*/
		Method out1=obj.getClass().getMethod("outStr1");//通过对象获得类,通过类获得类方法
		out1.invoke(obj);//传入对象,并使用方法,如果是静态方法,可以传入null
		/*调用方法2,带1个参数*/
		Method out2=obj.getClass().getMethod("outStr2",String.class);//通过对象获得类,传入方法参数类型,通过类获得类方法
		out2.invoke(obj,"str2");//传入对象,传入变量,并使用方法
		/*调用方法3,带多个参数*/
		Method out3=obj.getClass().getMethod("outStr3",String.class,String.class);//通过对象获得类,传入多个参数类型,通过类获得类方法
		out3.invoke(obj,"str3","str4");//传入对象,传入多个变量,-使用方法
	}
}

  

时间: 2024-12-16 06:59:09

反射认识_04_反射调用类方法Method的相关文章

java 通过反射获取调用类方法及属性

首先说下反射是什么?反射是Sun公司推出的一组API,此组API位于Java.lang.reflect中 反射的作用是编写工具(例如eclipse),编写框架,当然对于一般的程序,我们不可能用反射来做这些事,一般反射大多是用于在构建类的实例以及调用类方法及属性. ok! 了解了反射是什么以及反射的应用领域,那么就来看看Java中是怎么实现反射的吧 Student类 public class Student {     public String name;     public String g

通过反射获取及调用方法(Method)

1.获取方法使用反射获取某一个类中的方法,步骤:①找到获取方法所在类的字节码对象②找到需要被获取的方法 Class类中常用方法: public Method[] getMethods():获取包括自身和继承过来的所有的public方法 public Method[] getDeclaredMethods():获取自身所有的方法(不包括继承的,和访问权限无关) public Method getMethod(String methodName,Class<?>...parameterTypes)

Java 反射机制[Field反射]

Java 反射机制[Field反射] 1.  反射概念及功能 反射就是把Java类中的各种成分映射成相应的Java类.例如一个Java类中用一个Class类的对象来表示.一个类中的组成部分分为成员变量,方法,构造方法,包等等. Java反射机制主要提供了以下功能: 判断在运行时任意一个对象所属的类:在运行时构造任意一个类的对象:判断在运行时任意一个类所具有的成员变量和方法:在运行时调用任意一个对象的方法:生成动态代理. 2.  Field反射 以下代码将obj对象中的String类型的字段对应的

Java---类反射(2)---类反射加强

经过前面的一篇博客,Java-类反射(1),相信大家对类反射有了一定的了解了. 下面来进行对类反射的加强,了解一下怎么通过类反射去new一个对象, 怎么通过类反射去访问其他类的方法. 怎么通过类反射去访问其他类的成员变量. 大家也许认为一个类的私有方法,私有的成员变量是其他类访问不到.但是,类反射是可以通过暴力访问去访问的. 还有:最后要模拟Java内省的功能 类的调用(调用类中的成员) ★ 构造类对象 使用构造器新建对象.根据指定的参数类型找到相应的构造函数,传入相应参数调用执行,以创建一个新

反射机制,反射的性能,如何优化?

反射机制的定义: 是在运行状态中,对于任意的一个类,都能够知道这个类的所有属性和方法,对任意一个对象都能够通过反射机制调用一个类的任意方法,这种动态获取类信息及动态调用类对象方法的功能称为java的反射机制. 反射的作用: 1.动态地创建类的实例,将类绑定到现有的对象中,或从现有的对象中获取类型. 2.应用程序需要在运行时从某个特定的程序集中载入一个特定的类.

java 反射和暴力反射 两个DEMO

该类为反射函数 获取和暴力获取ReflectPoin类中的属性 package com.tuozou.test; import java.lang.reflect.Field; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; public class ReflectTest { public ReflectTest() { // TODO Auto-generated con

oc-14-对象方法调用类方法

Person.h #import <Foundation/Foundation.h> @interface Person : NSObject { @public int _age; float _weight; // 运动1次,就去吃饭. } // 让人运动 - (void)sport; // 让人吃 - (void)eat; // 让人运动 + (void)sport; // 让人吃 + (void)eat; //对象方法 - (void)study; //类方法 + (void)stud

Windows Phone 8.1 驱动开发——如何调用ACPI Method

今天给大家讲解一下,在KMDF(Kernel-Mode Driver Framework)中是如何调用ACPI配置表中用户定义的Method.在ACPI中,凡是以下划线开头的Method(如_STA)都系统预定义的Method,它们都由Windows OS自己调用,其他用户自定义Method则由驱动程序调用. ACPI Method 首先我们来看一段在ACPI中定义的Method: //Global Buffer Name(DATA, Buffer(0x4) { 0x00, 0x00, 0x00

深入浅出Alljoyn——实例分析之远程调用(Method)篇

深入浅出就是很深入的学习了很久,还是只学了毛皮,呵呵! 服务端完整代码: 1 #include <qcc/platform.h> 2 3 #include <assert.h> 4 #include <signal.h> 5 #include <stdio.h> 6 #include <vector> 7 8 #include <qcc/String.h> 9 10 #include <alljoyn/BusAttachment