zoukankan      html  css  js  c++  java
  • 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属性文件,反射读取里面内容

    原创:做时间的朋友
  • 相关阅读:
    Windows Azure入门教学系列 (九):Windows Azure 诊断功能
    批量删除同类文件的函数
    Edit 的使用
    @ 与 ^ 运算符
    窗体相关操作
    uses 子句的写法
    goto 语句
    字符串常识
    not 与整数
    Memo 的当前行、当前列与当前字符
  • 原文地址:https://www.cnblogs.com/PythonOrg/p/15211084.html
Copyright © 2011-2022 走看看