java反射基础

作者: chcvn | 来源:发表于2017-09-26 09:20 被阅读58次
Ø 反射获取Class对象
    
Ø 三种方法获取
    Class classz=对象.class;
    对象 A=new 对象();
    Class AA=A.getClass();
    Class .forName("类的全路径");
类的加载器,将Class文件加载到虚拟机中,会有一个Class对象
而反射第一步就是获得class文件的字节码对象的Class对象
Ø 实例:
    ○ Class cs=Class.forName("类的全路径");
    ○ 默认的无参数的构造方法创建对象
    ○ Person P=cs.newInstance();
    采用有参数的构造方法来创建对象�cs.getConstructor(String.class,Integer.class);//创建的是一个带(String,int)的对象
    c.newInstance("参数1","参数2(Integer)");
Ø 获取属性(公有的)�cs.getField("属性名");//获得某一个属性
Cs.getFields();//获取所有的属性
Ø 获取所有的属性
    ○ Field field=cs.getDeclaredField("属性名");//获取一个属性(私有或者公有)
    !!!必须设置成可以访问
    Field.setAccessible("true");//设置可以访问
    ○ 使用:
        § Field.get(实例对象);//得到实例对象里的值
Ø 获取方法
    ○ M=Class对象.getDeclaredMethod("方法名");
    ○ M.setAccessible("true");设置可以访问
    执行方法:
        M.invoke(实例对象);
    获取带参数的方法
        Cs.getDeclaredMethod("方法名",参数的Class对象); 

M.invoke("执行的对象","参数");

image.png

相关文章

  • Java基础:反射

    反射注解动态代理相关阅读 Java基础:类加载器 Java基础:反射 Java基础:注解 Java基础:动态代理 ...

  • Java基础之反射

    Java基础之—反射(非常重要)Java中反射机制详解Java进阶之reflection(反射机制)——反射概念与...

  • Java基础之反射

    Java基础之反射 反射基本介绍 反射的使用通过反射调用属性和方法通过反射获取配置文件 反射基本介绍 Java反射...

  • Java基础:注解

    系列阅读 Java基础:类加载器 Java基础:反射 Java基础:注解 Java基础:动态代理 1. 概述 注解...

  • Java高级知识

    反射 sczyh30 深入解析Java反射(1) - 基础深入解析Java反射(2) - invoke方法深入探究...

  • Java基础:动态代理

    系列阅读 Java基础:类加载器 Java基础:反射 Java基础:注解 Java基础:动态代理 概述 在运行时,...

  • java 反射进阶

    1.java反射基础 2.java反射进阶 上一节介绍了反射基础,本节介绍更深入的反射概念。 1.获取不到Clas...

  • java 反射基础

    1.java反射基础 2.java反射进阶 反射的两个显著的作用 反编译: .class —> .java 通过...

  • Java基础:类加载器

    系列阅读 Java基础:类加载器 Java基础:反射 Java基础:注解 Java基础:动态代理 1. 什么是类加...

  • 硬核干货!备战阿里,字节,腾讯 2020最新Java最常见面试题

    Java Java 基础这部分一些简单的问题就直接没有放上来。 基础: Java 反射?反射有什么缺点?你是怎么理...

网友评论

    本文标题:java反射基础

    本文链接:https://www.haomeiwen.com/subject/agojextx.html