java编程 反射类的使用

原创 2012年03月28日 07:15:57

使用反射类调用该类方法:

package com.robert.reflect;

import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;

public class InvokerTest 
{
	
	public int add(int a, int b)
	{
		return a + b;
	}
	
	public String echo(String str)
	{
		return "echo " + str;
	}
	
	public static void main(String[] args)
	{
		Class classType = InvokerTest.class;
		try {
//			Object invokerTest = classType.newInstance();
			Object invokerTest = classType.getConstructor(new Class[]{}).newInstance(new Object[]{});
			
			Method addMethod = classType.getMethod("add", new Class[]{int.class,int.class});
			Object result = addMethod.invoke(invokerTest, new Object[]{100,200});
			System.out.println(result.toString());
			
			Method echoMethod = classType.getMethod("echo", new Class[]{String.class});
			Object echoResult = echoMethod.invoke(invokerTest, new Object[]{"hello world"});
			System.out.println(echoResult.toString());
			
		} catch (InstantiationException e) {
			e.printStackTrace();
		} catch (IllegalAccessException e) {
			e.printStackTrace();
		} catch (SecurityException e) {
			e.printStackTrace();
		} catch (NoSuchMethodException e) {
			e.printStackTrace();
		} catch (IllegalArgumentException e) {
			e.printStackTrace();
		} catch (InvocationTargetException e) {
			e.printStackTrace();
		}
	}
}

注明:该代码转自浪曦视频。仅供学习和参考。如有问题,本人qq362601125


JAVA反射实例详解与介绍

我们都知道Java反射很重要,这次我来抛个砖头!!! 一:反射      反射是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的...
  • hj7jay
  • hj7jay
  • 2016年05月23日 10:20
  • 1665

Java的高级特性反射

首先说说什么反射,其实
  • a445012100
  • a445012100
  • 2014年05月14日 23:20
  • 947

反射工具类【ReflectionUtils】

反射工具类【ReflectionUtils】
  • adsl624153
  • adsl624153
  • 2017年05月05日 00:45
  • 1619

java反射机制剖析(三)—类类型Class

为了区别于我们常用的Class,因此给了个中文名类类型。目的就是为了知道此Class非彼Class。上一篇博客已经介绍了Class Loader,它的作用是根据提供的信息来加载类到内存中。我之前有提过...
  • zhuojiajin
  • zhuojiajin
  • 2014年09月13日 22:04
  • 2798

java动态加载指定的类或者jar包反射调用其方法-涉及其他jar中的类就报ClassNotFound问题分析及解决思路

在这篇博文中java动态加载指定的类或者jar包反射调用其方法,介绍动态加载指定的类,当时我是拿URLClassLoader介绍的,当然可以自定义一个ClassLoader重新对应的方法, 不过这个有...
  • chenleixing
  • chenleixing
  • 2015年11月25日 22:52
  • 5114

Scala/Java中的反射机制探索

最近看Spark源码,看到在Spark这种底层架构中用到很多Scala/Java的反射机制,在网上看了一些关于Scala/Java反射机制的原理和用处,总结如下。scala的多线程的实现依赖于JVM的...
  • jiangda_0_0
  • jiangda_0_0
  • 2017年03月08日 16:53
  • 904

java中的反射三(反射机制深入---对数组的操作)

反射机制对数组的操作1 取得数组的Class对象以及相关属性和方法 public class ClassArrayDemo{ public static void main(String ar...
  • yuan465887375
  • yuan465887375
  • 2013年04月15日 23:01
  • 1640

Java的反射(Reflection)、内省(Retrospector)和beanUtils工具

反射(Reflection):加载类,并解剖出类的各个组成部分(反射就是解剖的意思) 加载类,获得类的字节码(三种方式): Class clazz1 = Class.forName("cn....
  • ClementAD
  • ClementAD
  • 2016年02月04日 15:59
  • 2441

JAVA反射机制获取类和方法

问题: 可以通过String类型的方法名调度方法么?可以获得特定的类么?比如当前类,隔壁的类,类的新实例,当前实例?多态的函数具有相同的名字、不同的参数类型,如何区分呢?如何获取指定类的参数类型...
  • u011225629
  • u011225629
  • 2015年08月16日 20:08
  • 1593

Java:访问其他类中的属性和局部变量问题

Java:访问其他类中成员变量问题
  • VipMao
  • VipMao
  • 2016年06月13日 14:41
  • 3595
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:java编程 反射类的使用
举报原因:
原因补充:

(最多只允许输入30个字)