zoukankan      html  css  js  c++  java
  • 利用反射查看类的详细信息

    package test.my.chap0302;
    
    import java.lang.reflect.Constructor;
    import java.lang.reflect.Field;
    import java.lang.reflect.Method;
    import java.lang.reflect.Modifier;
    import java.util.Date;
    
    public class StringUtils {
    	
    	@SuppressWarnings("unchecked")
    	public String toString(Object obj){
    		StringBuilder sb = new StringBuilder();
    		Class cs = obj.getClass();//获取该类的class对象
    		String clasName = cs.getSimpleName(); //获取该类的类名
    		Package packageName = cs.getPackage(); //包名
    		sb.append("包名是:"+packageName+"
    ");
    		sb.append("类名是:"+clasName+"
    ");
    		Constructor[] cons = cs.getDeclaredConstructors(); //所有构造器
    		for(Constructor con:cons){
    			String modifer = Modifier.toString(con.getModifiers());
    			if(modifer.contains("public")){
    				sb.append("构造器:"+con.toGenericString()+"
    ");
    			}
    		}
    		Method[] ms = cs.getDeclaredMethods(); //所有方法
    		for(Method md:ms){
    			String modifer = Modifier.toString(md.getModifiers());
    			if(modifer.contains("public")){
    				sb.append("方法:"+md.toGenericString()+"
    ");
    			}
    		}
    		Field[] fields = cs.getDeclaredFields();
    		for(Field f:fields){
    			String modifier = Modifier.toString(f.getModifiers());
    			if(modifier.contains("public")){
    				sb.append("公共字段:"+f.toGenericString()+"
    ");
    			}
    		}
    		return sb.toString();
    	}
    
    	/**
    	 * @param args
    	 */
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    		System.out.println(new StringUtils().toString(new Date()));
    	}
    
    }
    
  • 相关阅读:
    Android带头像的用户注册页面
    Android——四种AterDialog
    Android Studio如何显示行号
    月下载量上千次的APP源码分享
    Android——列表视图(ListView)
    Android——列表选择框(Spinner)
    Android——按钮的事件监听
    ACM——第几天
    Android——控制UI界面
    Android——将图片加入到系统相册里面
  • 原文地址:https://www.cnblogs.com/harbin1900/p/8480942.html
Copyright © 2011-2022 走看看