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()));
    	}
    
    }
    
  • 相关阅读:
    《R语言入门与实践》第七章:程序
    《R语言入门与实践》第六章:R 的环境系统
    《R语言入门与实践》第五章:对象改值
    《R语言入门与实践》第四章:R 的记号体系
    pandas包的应用
    numpy包的应用
    redis
    面试题
    qqqqqqq
    qqqqqqqqqqqqq
  • 原文地址:https://www.cnblogs.com/harbin1900/p/8480942.html
Copyright © 2011-2022 走看看