java进阶8-反射

  • 反射概念
    • Class.forName(“全类名”)
    • 类.class
    • 对象.getClass()
    • 反射接口
      • getConstructor(参数类型 形参)
      • getModifier()
      • getParamersTypes()
      • getDeclareMethod()
      • getDelareField()
      • getAnnotation()
    • 使用反射创造实例
  • 总结

反射概念

程序可以访问、检测、修改、他本身状态和行为的能力。
只知道类名,通过方法可以知道他的属性、方法、修饰符、构造方法、父类、接口、注解等相关内容、
类加载后会形成一个关于类的对象,这个对象储存着关于类的相关信息。这个储存类信息的类,通过以下三种方式获得

Class.forName(“全类名”)

Class cla = Class.forName(“java.lang.String”)

类.class

Class cla = String.class;

对象.getClass()

Class cla = one.getClass()

反射接口

有类对象class、字段对象Field、方法对象Method。修饰符对象Modifier、构造方法对象Constructor等。
java.lang.reflect包中

getConstructor(参数类型 形参)

获得构造函数对象

getModifier()

获取修饰符

getParamersTypes()

获取参数类型

getDeclareMethod()

获取方法对象

getDelareField()

获取字段对象

getAnnotation()

获取注释对象

使用反射创造实例

Object ob = 类对象.getConstructor().newInstrance() 无参
Object ob = 类对象。getConstructor(String.class)

总结

反射是对已有类的一种操作,正常对类的操作,反射操作也具有
字段对象.setAccessiable(true)后,可对私有变量访问。

先自我介绍一下,小编13年上师交大毕业,曾经在小公司待过,去过华为OPPO等大厂,18年进入阿里,直到现在。深知大多数初中级java工程师,想要升技能,往往是需要自己摸索成长或是报班学习,但对于培训机构动则近万元的学费,着实压力不小。自己不成体系的自学效率很低又漫长,而且容易碰到天花板技术停止不前。因此我收集了一份《java开发全套学习资料》送给大家,初衷也很简单,就是希望帮助到想自学又不知道该从何学起的朋友,同时减轻大家的负担。添加下方名片,即可获取全套学习资料哦

更多推荐

java进阶8-反射