zoukankan      html  css  js  c++  java
  • Class.getDeclaredFields()和Class.getFields()的区别。 Class.getMethods()和Class.getDeclaredMethods()的区别。

    package www.cn.extend;
    
    /** Animal
     * 2019/07/04 
     * @author Administrator
     *
     */
    public class Animal {
        
        public String mName;
        public String mSex;
        private String mSecret = "I hava a secret but I can't tell you know";
     
        public String getSecret() {
            return mSecret;
        } 
    
        private void privateMethod() {
            System.out.println("just a privateMethod");
        }
    }
    package www.cn.extend;
    
    /**
     * Dog
     * @author Administrator
     *
     */
    public class Dog extends Animal{
        private String mJob;
        public String mSkill;
        protected String mDrive;
        int mAge;
    
        void keepFit(){
            System.out.println(Dog.class.getSimpleName()+" to keepFit");
        }
    
        private void sooEsad(){
            System.out.println("asdf");
        }
    }
     
    package www.cn.extend;
    
    import java.lang.reflect.Method;
    
    public class Test {
    
        public static void main(String[] args){
            
            /**.class.getFields();
             * 返回父类和子类中公共属性的Field数组。
             */
    //        Field[] fields = Dog.class.getFields();
    //        for (Field field:fields){ 
    //            System.out.println("this is a field from "+Dog.class.getSimpleName() +" : "+field);
    //        }
            
            /**.class.getDeclaredFields();
             * 返回子类中所有访问权限的属性。
             */
    //        Field[] declaredFields = Dog.class.getDeclaredFields();
    //        for (Field field:declaredFields){
    //            System.out.println("this is a declaredFields from "+Dog.class.getSimpleName() +" : "+field);
    //        }
    
            /**.class.getMethods();
             * 返回父类的公共方法
             */
    //        Method[] methods = Dog.class.getMethods();
    //        for (Method method:methods){
    //            System.out.println("this is a methods from "+Dog.class.getSimpleName() +" : "+method);
    //        }
            
            /**.class.getDeclaredMethods();
             * 返回子类所有权限的方法。
             */
            Method[] declaredMethods = Dog.class.getDeclaredMethods();
            for (Method method:declaredMethods){
                System.out.println(declaredMethods[0].getName());
                System.out.println("this is a declaredMethods from "+Dog.class.getSimpleName() +" : "+method);
            }
            
        }
        
    }
  • 相关阅读:
    JQuery 点击子控件事件,不会触发父控件的事件
    JQuery对Style和css设置
    2019vue学习视频(入门到精通)
    新建一个vue项目
    FIS3 构建
    node环境变量
    阿里云重启ssh
    msf 获取session 之后
    acccheck (暴力破解使用SMB协议的Windows密码)
    利用 Cut 指定输出内容
  • 原文地址:https://www.cnblogs.com/tanjiyuan/p/11133618.html
Copyright © 2011-2022 走看看