• 反射(承接上面的泛型注解与反射)


    1.

    User.java

    package com.inspur.demo3;
    
    public class User {
        private String name;
        private String sex;
        private int age;
        public String getName() {
            return name;
        }
        public User() {
            // TODO Auto-generated constructor stub
        }
        public User(String name){
            this.name=name;
        }
        public void setName(String name) {
            this.name = name;
        }
        public String getSex() {
            return sex;
        }
        public void setSex(String sex) {
            this.sex = sex;
        }
        public int getAge() {
            return age;
        }
        public void setAge(int age) {
            this.age = age;
        }
        @Override
        public String toString(){
            return this.name+","+this.sex+","+this.age;
            
        }
    
    }

    2.获取私有属性

    3.

    MyClass.java

    package com.inspur.demo4;
    
    public class MyClass<A extends Integer,B,C>  {
    
    }

    DemoMain4.java

    package com.inspur.demo4;
    
    import java.lang.reflect.Field;
    import java.util.Arrays;
    
    import com.inspur.demo3.User;
    
    public class DemoMain4 {
    
        
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            
            
            try {
                /*Class c = User.class;
                Field f = c.getDeclaredField("name");
                System.out.println(f.getName());
                System.out.println(f.get(new User("xiaohei")));*/
                Class c1 = MyClass.class;
                System.out.println(c1.getTypeParameters().length);
                System.out.println(c1.getTypeParameters()[0].getName());
                System.out.println(c1.getTypeParameters()[0].getBounds()[0]);
                
                
            } catch (SecurityException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } /*catch (NoSuchFieldException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } */catch (IllegalArgumentException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } /*catch (IllegalAccessException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }*/
    
        }
    
    }

    运行结果:

  • 相关阅读:
    浙大版《C语言程序设计(第3版)》题目集 --总结
    | C语言I作业09
    c语言课本及pta作业中运用到的程序思维
    | C语言I作业08
    团队作业(四):描述设计
    实验三《敏捷开发与XP实践》_实验报告
    MyOD(课下作业,选做)
    实验二《面向对象程序设计》_实验报告
    20175226 2018-2019-2《java程序设计》结对编程-四则运算(第二周-阶段总结)
    20175226 类定义
  • 原文地址:https://www.cnblogs.com/sunxiaoyan/p/9210997.html
Copyright © 2020-2023  润新知