`
tianlihu
  • 浏览: 311173 次
  • 性别: Icon_minigender_1
  • 来自: 石家庄
社区版块
存档分类
最新评论

JAVA中的反射机制

阅读更多
原文链接
import java.lang.reflect.Constructor;
import java.lang.reflect.Method;

public class ReflectTest {

	public static void main(String[] args) throws Exception {
		String str = "sun.mgp.Customer";

		Class<?> c = Class.forName(str);

		// 获取构造函数及其中参数
		Constructor<?>[] con = c.getConstructors();
		System.out.println("构造函数名为:" + con[0].getName());
		for (int i = 0; i < con.length; i++) {
			System.out.println("构造函数为:" + con);
			Class<?>[] cl = con[i].getParameterTypes();
			for (int j = 0; j < cl.length; j++) {
				System.out.println("参数为:" + cl[j].getName());
			}
		}
		System.out.println("--------------------------");
		// 获取方法及参数
		Method[] met = c.getMethods();
		for (int i = 0; i < met.length; i++) {
			System.out.println(met[i].getName());
			Class<?>[] cm = met[i].getParameterTypes();
			for (int j = 0; j < cm.length; j++)
				System.out.println("参数为:" + cm[j].getName());
		}

	}
}

class NewInstn {

	public static void main(String[] args) {
		String str = "sun.mgp.Customer";
		try {
			Class<?> c = Class.forName(str);

			c.newInstance();// 获得无参构造函数的实例

			Constructor<?> con = c.getConstructor(new Class[] {});// 得到不带参数的构造函数
			con.newInstance(new Object[] {});

			// 带参构造函数
			Constructor<?> conr = c.getConstructor(new Class[] { Class.forName("java.lang.String"), Class.forName("java.lang.String") });
			Object objr = conr.newInstance(new Object[] { "hello", "world" });

			// 调用类中的test方法
			Method met = c.getMethod("test", new Class[] {});
			met.invoke(objr);

		} catch (Exception ex) {
			ex.printStackTrace();
		}
	}
}

class Customer {

	public Customer() {
		System.out.println("无参构造函数被调用");
	}

	public Customer(String a, String p) {
		System.out.println("带参构造函数被调用");
	}

	public void printInfo() {
		System.out.println("hello,world!");
	}

	public void test() {
		System.out.println("this is test");
	}
}



分享到:
评论

相关推荐

    java反射机制.zip

    java反射机制java反射机制.zipjava反射机制.zipjava反射机制.zipjava反射机制.zipjava反射机制.zipjava反射机制.zipjava反射机制.zipjava反射机制.zipjava反射机制.zipjava反射机制.zipjava反射机制.zipjava反射机制...

    Java中的反射机制

    Java中的反射机制Java中的反射机制Java中的反射机制

    Java反射机制 Java反射机制

    Java反射机制Java反射机制Java反射机制Java反射机制Java反射机制Java反射机制Java反射机制Java反射机制

    JAVA 反射机制应用

    JAVA 反射机制应用JAVA 反射机制应用JAVA 反射机制应用JAVA 反射机制应用JAVA 反射机制应用JAVA 反射机制应用JAVA 反射机制应用

    java 反射机制例子

    讲解了JAVA中反射机制,包含例子,代码!对初学者很有用

    详解java中反射机制(含数组参数)

    主要介绍了详解java中反射机制(含数组参数)的相关资料,希望通过本文能帮助到大家,让大家理解掌握这部分内容,需要的朋友可以参考下

    JAVA的反射机制与动态代理

    JAVA的反射机制与动态代理

    Java反射机制课件ppt

    Java反射机制Java反射机制Java反射机制Java反射机制

    java反射机制详解

    java反射机制的详细描述

    java反射机制原理和反射机制总结

    java反射机制原理和反射机制总结!!! java反射机制原理和反射机制总结!!!

    java反射机制源码

    java反射机制源码java反射机制源码java反射机制源码

    Java 1.5 反射机制

    Java反射机制是1.5新增的功能,希望大家能学习愉快!

    反射实例-JAVA反射机制.doc

    反射实例-JAVA反射机制.doc反射实例-JAVA反射机制.doc反射实例-JAVA反射机制.doc反射实例-JAVA反射机制.doc反射实例-JAVA反射机制.doc反射实例-JAVA反射机制.doc反射实例-JAVA反射机制.doc反射实例-JAVA反射机制.doc...

    Java反射机制总结

    这是一本关于Java反射机制论文集合的书。其中包含基本的理论及各种实例。 所有文章均从网络途径获得,本人只作收集整理的工作,个别地方有改动。每篇文章的标题遵循原作者的表述,本人不再作任何更改。 关键字有:...

    java的反射机制及其实际应用

    Java中,反射是一种强大的工具。它使您能够创建灵活的代码,这些代码可以在运行时装配,无需在组件之间进行源代表链接。反射允许我们在编写与执行时,使我们的程序代码能够接入装载到JVM中的类的内部信息,而不是源...

    Reflection_in_Java.zip_in_java 反射_java 反射机制_java反射_反射机制

    Reflection in Java. 介绍Java中的反射机制,候捷谈Java反射机制

    java 反射机制详解

    比较详细讲述了java的反射机制,收获颇丰。希望大家能够共同学习,一起进步。

    JAVA反射机制应用

    描述JAVA反射机制应用、举例。描述反射机制的具体实现及方法实现。

    java 反射机制

    java 反射机制深入理解,java 反射机制深入理解,java 反射机制深入理解,

Global site tag (gtag.js) - Google Analytics