java反射(小白入门,简单易懂)

Java反射的概述

     反射:将类或对象各个部分封装成其它对象,这就是反射机制

     反射机制:Java反射机制是在运行状态中,可以获得任意一个类和对象中的属性和方法

 Java代码的三个阶段从上图中可以看出一个java对象中有存放数据的三个容器

               分别存放成员变量,构造方法,成员方法

解读Java反射就是可以将任意一个类(字节码文件)或对象,通过它的Class对象。

            再将Class对象中的各部分内容映射成一个个Java对象

一.获取Class对象的方式:

Class.forName(“全类名”);//适用于字节码文件,用来加载类

 类名.class;//已经导入,但是没有对象

 对象.getclass();通过对象属性获得class对象,此方法封装在object类中

 

二.获取Class对象的使用

        获取功能:

                获取Class对象中的成员变量们:

Field[]getFields()//获取所有public修饰的成员变量
 FieldgetField(String name)//获取指定 public修饰的成员变量
 Field[]getDeclaredFields()//获取所有的成员变量,无视权限修饰符
 FieldgetDeclaredField(String name)//获取指定的成员变量,无视修饰符

   Field对象的set和get方法

                      Field对象中的setAccessible(true);//暴力反射

                         

获取Class对象中的构造方法们:

 Constructor<?>[]getDeclaredConstructors()//获取多有public修饰的构造方法
 Constructor<T>getConstructor(Class<?>... parameterTypes)//获取指定的public修饰的方法

 Constructor<T>getDeclaredConstructor(Class<?>... parameterTypes)//获取指定的构造方法
 Constructor<?>[]getDeclaredConstructors()//获取所有的构造方法
Constructor中的newInstance方法

获取Class对象中的方法

 Method[]getMethods()//获取所有public修饰的方法
 MethodgetMethod(String name, Class<?>... parameterTypes)//获取指定的public修饰的方法
 Method[]getDeclaredMethods()获取所有的方法
 MethodgetDeclaredMethod(String name, Class<?>... parameterTypes)获取指定的方法
 StringgetName()//获取方法名称

注:getMethods方法是获取Class对象中所有的public修饰的对象,包括父类Object中的方法

 

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值