java反射
2012-07-11 16:25
78 查看
/**
* getClass
* @param clazzName
* @return
*/
public static Class getClass(String clazzName){
Class clazz = null;
try {
clazz = Class.forName(clazzName);
Constructor[] cv = clazz.getConstructors();
Object obj = cv[0].newInstance();
} catch (Exception e) {
e.printStackTrace();
}
return clazz;
}
/**
* getConstructor
* @param clazz
* @param parametersClazz
* @return
*/
public static Constructor getConstructor(Class clazz,Class... parametersClazz){
Constructor cns = null;
try {
cns = clazz.getConstructor(parametersClazz);
} catch (Exception e) {
e.printStackTrace();
}
return cns;
}
/**
* getInstance
* @param cns
* @param initargs
* @return
*/
public static Object getInstance(Constructor cns,Object... initargs){
Object obj = null;
try {
obj = cns.newInstance(initargs);
} catch (Exception e) {
e.printStackTrace();
}
return obj;
}
/**
* getMethod
* @param clazz
* @param methodName
* @param parametersClazz
* @return
*/
public static Method getMethod(Class clazz,String methodName, Class... parametersClazz){//注:若方法参数为基本数据类型需要转换,例如int -》Integer.TYPE
Method method = null;
try {
method = clazz.getMethod(methodName, parametersClazz);
} catch (Exception e) {
e.printStackTrace();
}
return method;
}
/**
* invokeMethod
* @param method
* @param obj
* @param args
*/
public static Object invokeMethod(Method method, Object obj,Object... args){
Object result = null;
try {
result = method.invoke(obj, args);//注:如果方法本身返回void则此处返回null
} catch (Exception e) {
e.printStackTrace();
}
return result;
}
* getClass
* @param clazzName
* @return
*/
public static Class getClass(String clazzName){
Class clazz = null;
try {
clazz = Class.forName(clazzName);
Constructor[] cv = clazz.getConstructors();
Object obj = cv[0].newInstance();
} catch (Exception e) {
e.printStackTrace();
}
return clazz;
}
/**
* getConstructor
* @param clazz
* @param parametersClazz
* @return
*/
public static Constructor getConstructor(Class clazz,Class... parametersClazz){
Constructor cns = null;
try {
cns = clazz.getConstructor(parametersClazz);
} catch (Exception e) {
e.printStackTrace();
}
return cns;
}
/**
* getInstance
* @param cns
* @param initargs
* @return
*/
public static Object getInstance(Constructor cns,Object... initargs){
Object obj = null;
try {
obj = cns.newInstance(initargs);
} catch (Exception e) {
e.printStackTrace();
}
return obj;
}
/**
* getMethod
* @param clazz
* @param methodName
* @param parametersClazz
* @return
*/
public static Method getMethod(Class clazz,String methodName, Class... parametersClazz){//注:若方法参数为基本数据类型需要转换,例如int -》Integer.TYPE
Method method = null;
try {
method = clazz.getMethod(methodName, parametersClazz);
} catch (Exception e) {
e.printStackTrace();
}
return method;
}
/**
* invokeMethod
* @param method
* @param obj
* @param args
*/
public static Object invokeMethod(Method method, Object obj,Object... args){
Object result = null;
try {
result = method.invoke(obj, args);//注:如果方法本身返回void则此处返回null
} catch (Exception e) {
e.printStackTrace();
}
return result;
}
相关文章推荐
- Java 反射、注解
- JAVA 反射(3):类内部信息获取
- java 反射 demo
- java之反射技术应用(二)
- java反射3——类实例的方法1
- [程序代写推荐]java反射测试代码!枚举测试,beanUtils测试等....挺有用的。。。
- 黑马程序员_Java高新技术——反射和内省(第8篇)
- java反射之基本概念
- java 深入技术七(类的结构和反射)
- 黑马程序员_java高新技术之反射技术
- Java反射-精简小结
- Java通过反射创建对象
- java基础反射
- 利用Java反射、泛型和apache/poi编写可通用的导出Excel代码
- Java反射基本知识
- 通过Java反射调用方法
- (JNI)c代码利用反射调用java方法
- Java反射
- Java基础进阶_day18_(类加载器,反射,动态代理)
- Java反射06 : 成员变量Field学习示例