• Java反射


    1.反射概念

    反射是java中强大的工具,灵活代码
    运行时装配的概念,无需组件之间代码连接

    2.反射作用

    反射机制访问java对象的属性,方法,构造方法等

    3.jdk中提供的反射的类

    java.lang.Class;
    java.lang.reflect.Constructor;
    java.lang.reflect.Field;
    java.lang.reflect.Method;
    java.lang.reflect.Modifier;

    4.获取类的方法

    方式1
    Class c1 = Class.forName("Employee")
    方式2
    Class c2 = Employee.class;
    方式3
    Employee e = new Employee();
    Class c3 = e.getClass();
    

    5.创建对象

    newInstance

    Class c2 = Employee.class;
    Object o = c2.newInstance(); //默认调用了无参构造函数
    

    6.获取属性

    获取所有属性

    Class c2 = Employee.class;
    Field[] fs = c2.getDeclardFields(); // 不包含父类属性
    

    获取所有属性,包含父类的

    public List<Field> getFields(T t){
            List<Field> fields = Lists.newArrayList();
            Class tempClass = t.getClass();
            while (tempClass != null){
                fields.addAll(Arrays.asList(tempClass.getDeclaredFields()));
                tempClass = tempClass.getSuperclass();
            }
            return fields;
        }
    

    获取特定属性

    Class c2 = Employee.class;
    Field idf = c2.getDeclaredField("id");
    

    7.获取方法和构造方法

    getDeclaredMethods()//获取所有方法
    getReturnType() //获取方法的返回类型
    getParmeterTypes() 获取方法的传入参数类型
    getDeclaredConstructors()获取所有的构造方法
    
    getSuperClass()获取父类
    getInterfaces()获取实现的接口
    

    8.反射+配置文件

    .properties属性文件,反射读取里面内容

    原创:做时间的朋友
  • 相关阅读:
    类加载机制深度解析
    Mysql索引数据结构详解(1)
    深入理解mysql锁与事务隔离级别
    关于redis HSCAN count参数不生效的问题
    在idea的java开发中字符串length()方法获取长度与赋值不符的问题
    在网页中使用超链接来打开本地应用(可传参数)
    断言(assert)简介
    9. Palindrome Number
    四、MapReduce
    三、HDFS——Hadoop分布式文件系统
  • 原文地址:https://www.cnblogs.com/PythonOrg/p/15211084.html
Copyright © 2020-2023  润新知