zoukankan      html  css  js  c++  java
  • getFields()与getDeclaredFields()区别

    getFields()与getDeclaredFields()区别:getFields()只能访问类中声明为公有的字段,私有的字段它无法访问,能访问从其它类继承来的公有方法.getDeclaredFields()能访问类中所有的字段,与public,private,protect无关,不能访问从其它类继承来的方法  

    getMethods()与getDeclaredMethods()区别:getMethods()只能访问类中声明为公有的方法,私有的方法它无法访问,能访问从其它类继承来的公有方法.getDeclaredFields()能访问类中所有的字段,与public,private,protect无关,不能访问从其它类继承来的方法  

    getConstructors()与getDeclaredConstructors()区别:getConstructors()只能访问类中声明为public的构造函数.getDeclaredConstructors()能访问类中所有的构造函数,与public,private,protect无关 

    /**
         * 参数验证 执行.
         * <p>
         * ParamValide注释 解析实施
         * </p>
         * 
         * @param object
         *            待验证对象
         * @throws AdapterException
         *             基本验证错误
         */
        public static void valid(Object object) throws AdapterException {
            if (object == null) {
                return;
            }
            // 获取object的类型
            Class<? extends Object> clazz = object.getClass();
            // 获取该类型声明的成员
            Field[] fields = clazz.getDeclaredFields();
    
            // 遍历属性
            for (Field field : fields) {
    
                // 对于private私有化的成员变量,通过setAccessible来修改器访问权限
                field.setAccessible(true);
    
                validate(field, object);
                // 重新设置会私有权限
                field.setAccessible(false);
            }
        }
    
  • 相关阅读:
    js递归函数和call()
    前端常用
    整理项目中用到的angularjs及其他js代码
    体验设计真的是让一切简单到极致吗?
    iview table中利用render动态循环输出
    Vue+iview在render函数中添加Poptip提示操作
    jQuery
    外部js调用vue实例方法
    es6 filter() 数组过滤方法总结
    vue通信、传值的多种方式
  • 原文地址:https://www.cnblogs.com/hoge/p/6519008.html
Copyright © 2011-2022 走看看