java反射初级练习
来源:互联网 发布:网络推广邀约话术 编辑:程序博客网 时间:2024/04/29 03:48
package util;
import java.lang.reflect.Constructor;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
public class ClassUtil {
public static void printClassMessage(Object object){
Class clazz=object.getClass();
System.out.println("类的全路径"+clazz.getName());
//成员变量
System.out.println("成员变量:");
Field[] fields=clazz.getDeclaredFields();
for(Field field:fields){
String name=field.getName();
Class fieldType=field.getType();
String type=fieldType.getSimpleName();
System.out.println(type+"\t"+name+";");
}
System.out.println("成员函数:");
Method[] methods=clazz.getDeclaredMethods();
for(Method method:methods){
Class returnType=method.getReturnType();
System.out.print(returnType.getSimpleName()+"\t"+method.getName()+"(");
Class[] paramType=method.getParameterTypes();
for(Class param:paramType){
System.out.print(param.getSimpleName()+",");
}
System.out.print(")\n");
}
System.out.println("构造函数:");
Constructor[] cs=clazz.getDeclaredConstructors();
for(Constructor constructor:cs){
String constructorName=constructor.getName();
System.out.print(constructorName+"(");
Class[] params=constructor.getParameterTypes();
for(Class p:params){
String ps=p.getSimpleName();
System.out.print(ps+",");
}
System.out.print(");\n");
}
}
}
import java.lang.reflect.Constructor;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
public class ClassUtil {
public static void printClassMessage(Object object){
Class clazz=object.getClass();
System.out.println("类的全路径"+clazz.getName());
//成员变量
System.out.println("成员变量:");
Field[] fields=clazz.getDeclaredFields();
for(Field field:fields){
String name=field.getName();
Class fieldType=field.getType();
String type=fieldType.getSimpleName();
System.out.println(type+"\t"+name+";");
}
System.out.println("成员函数:");
Method[] methods=clazz.getDeclaredMethods();
for(Method method:methods){
Class returnType=method.getReturnType();
System.out.print(returnType.getSimpleName()+"\t"+method.getName()+"(");
Class[] paramType=method.getParameterTypes();
for(Class param:paramType){
System.out.print(param.getSimpleName()+",");
}
System.out.print(")\n");
}
System.out.println("构造函数:");
Constructor[] cs=clazz.getDeclaredConstructors();
for(Constructor constructor:cs){
String constructorName=constructor.getName();
System.out.print(constructorName+"(");
Class[] params=constructor.getParameterTypes();
for(Class p:params){
String ps=p.getSimpleName();
System.out.print(ps+",");
}
System.out.print(");\n");
}
}
}
0 0
- java反射初级练习
- Java初级--反射
- java初级笔记_反射
- Java初级培训笔记------反射
- java 初级程序员的练习
- java 初级程序员的练习
- java 初级程序员的练习
- java 初级程序员的练习
- java 初级程序员的练习
- java 初级程序员的练习
- java 初级程序员的练习
- java 初级程序员的练习
- java 初级程序员的练习
- java 初级程序员的练习
- java 初级程序员的练习
- JAVA 反射练习
- java反射机制--练习
- java反射练习
- iOS开发 引用第三方库出现duplicat…
- iOS开发 解决UITapGest…
- iOS 中KVC、KVO、NSNotificat…
- 通过onWindowAttributesChanged和onSystemUiVisibilityChange监听状态栏页面的隐藏与显示、动态显示与隐藏状态栏
- LeetCode 36/37. Valid Sudoku/ Sudoku Solver
- java反射初级练习
- ssh开发时利用excel表格导入数据
- 解决Android Studio引入SVN上Eclipse依赖工程不能实时更新的思考
- 将tomcat添加为linux系统服务
- Android开发路线(图)
- SDUT 2169 Sequence dp减枝区间划分
- boost::any 学习
- OpenGL编程指南 代码
- Android进阶之获取APK签名信息及MD5指纹