java反射
来源:互联网 发布:bioedit mac破解版 编辑:程序博客网 时间:2024/06/06 00:18
/**
* 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 反射
- java 反射
- Java反射
- java反射
- java反射
- JAVA反射
- java 反射
- Java 反射
- java 反射
- Java反射
- java反射
- JAVA 反射
- java 反射
- Java反射
- java反射
- java 反射
- java 反射
- 析JAVA之垃圾回收机制
- Hibernate数据查询 利用关联关系操纵对象 Hibernate事务 Hibernate的Cache管理
- PHP生成和获取XML格式数据
- altium designer 如何显示中文菜单
- asynchronous@tornado
- java反射
- LaTeX,XeTeX:我的中英对译排版命令的发展
- POJ 2001 Shortest Prefixes
- 使用硬件加密锁打造web安全登陆
- java list set map的区别与应用
- [OpenGL ES 1.0 API] glVertexPointer
- 编程之美2.19——区间重合判断(线段树)
- C++修改注册表信息
- asynchronous@tornado 记录二