• java通过反射获取Object的属性


    public class ClassUtil {
    //获取类的方法、返回值和参数
    public void ClassPrintMethodMessage(Object obj){
    //获取类类型
    Class cls = obj.getClass();
    System.out.println("类名:"+cls.getName());
    //获取类类型下面所有的方法,包含父类继承过来的方法(只包括public)
    Method[] methods = cls.getMethods();
    //获取类类型下面所有的方法,只包含自己内部的方法(包含私有)
    Method[] decMethods = cls.getDeclaredMethods();
    //循环类类型的所有方法
    for(int i = 0;i<methods.length;i++){
    //获取方法的返回值
    Class returnType = methods[i].getReturnType();
    System.out.print(returnType.getName()+" ");
    //方法名称
    System.out.print(methods[i].getName()+" (");
    //获取返回值参数
    Class[] chars = methods[i].getParameterTypes();
    for(Class c:chars){
    System.out.print(c.getName()+",");
    }
    System.out.println(")");
    }

        ClassPrintFieldMessage(obj);
    
    
    }
    //获取类的成员变量
    public void ClassPrintFieldMessage(Object obj){
        Class cls = obj.getClass();
        //获取类的成员变量,包含继承的父类成员变量
    

    // Field[] fie = cls.getFields();
    //获取类的成员变量,不包含继承的父类成员变量
    Field[] dlFie = cls.getDeclaredFields();
    for (Field f:dlFie) {
    //成员变量类型
    String type = f.getType().getName();
    //成员变量名称
    String name = f.getName();
    System.out.println(type+" "+name);
    }
    }
    //获取类的构造函数
    public void ClassPrintConMessage(Object obj){
    //获取类类型
    Class cls = obj.getClass();
    /*
    获取构造函数
    getConstructors 获取所有构造函数
    getDeclaredConstructors 获取所有私有构造函数(构造函数必须为私有)
    */
    // Constructor[] con = cls.getConstructors();
    Constructor[] con = cls.getDeclaredConstructors();
    for (Constructor c:con) {
    System.out.print(c.getName()+"(");
    Class[] cl = c.getParameterTypes();
    for (Class clss:cl) {
    System.out.print(clss.getName()+",");
    }
    System.out.println(")");
    }

    }
  • 相关阅读:
    spark-2.0.0与hive-1.2.1整合
    kafka_2.11-0.10.0.0安装步骤
    hive-1.2.1安装步骤
    linux时间编程
    gdb与coredump
    linux下静态库、动态库的创建与使用
    linux常用工具
    js数组、内置对象、自定义对象
    JS学习五(js中的事件)
    JS学习四(BOM DOM)
  • 原文地址:https://www.cnblogs.com/jiazhihao/p/13951994.html
Copyright © 2020-2023  润新知