读书人

Java 反照详解2

发布时间: 2012-12-18 12:43:41 作者: rapoo

Java 反射详解2

import java.lang.reflect.*;public class Method1 {@SuppressWarnings("unused")private int f1(Object p, int x) throws NullPointerException {if (p == null)throw new NullPointerException();return x;}@SuppressWarnings("unchecked")public static void main(String args[]) {try {Class cls = Class.forName("Method1");Method methlist[] = cls.getDeclaredMethods();for (int i = 0; i < methlist.length; i++) {Method m = methlist[i];System.out.println("name = " + m.getName());System.out.println("decl class = " + m.getDeclaringClass());Class pvec[] = m.getParameterTypes();for (int j = 0; j < pvec.length; j++)System.out.println("param #" + j + " " + pvec[j]);Class evec[] = m.getExceptionTypes();for (int j = 0; j < evec.length; j++)System.out.println("exc #" + j + " " + evec[j]);System.out.println("return type = " + m.getReturnType());System.out.println("-----");}} catch (Throwable e) {System.err.println(e);}}}  

import java.lang.reflect.*;public class Constructor1 {public Constructor1() {}protected Constructor1(int i, double d) {}@SuppressWarnings("unchecked")public static void main(String args[]) {try {Class cls = Class.forName("Constructor1");Constructor ctorlist[] = cls.getDeclaredConstructors();for (int i = 0; i < ctorlist.length; i++) {Constructor ct = ctorlist[i];System.out.println("name = " + ct.getName());System.out.println("decl class = " + ct.getDeclaringClass());Class pvec[] = ct.getParameterTypes();for (int j = 0; j < pvec.length; j++)System.out.println("param #" + j + " " + pvec[j]);Class evec[] = ct.getExceptionTypes();for (int j = 0; j < evec.length; j++)System.out.println("exc #" + j + " " + evec[j]);System.out.println("-----");}} catch (Throwable e) {System.err.println(e);}}}

name?=?constructor1
decl?class?=?class?constructor1
-----
name?=?constructor1
decl?class?=?class?constructor1
param?#0?int
param?#1?double

<!--EndFragment-->

<!--EndFragment-->

读书人网 >编程

热点推荐