Java反射面试题


Java反射面试题

概念

在运行状态中,对于任意一个类,都能知道这个类的所有的属性和方法;并且对于任意一个对象,都能调用它的任意一个方法;

应用场景

  • 逆向代码 ,例如反编译
  • 与注解相结合的框架 例如Spring
  • 动态生成类框架 例如Gson

反射API

Class类:可以获取类的属性,方法等信息

Field类:可以用来获取和设置类中的属性值

Method类:表示类的方法,可以用来获取类中的方法信息或者执行方法

Constructor:表示类的构造方法

获取Class对象的3种方法

Person p = new Person()

p.getClass()


Person.class


Class.forName(“类的全路径”)

创建对象的两种方法

Class对象的newInstance()

  • 该方法要求该Class对象对应的类有默认的空构造器

调用Constructor对象的newInstance()

  • 先使用Class对象获取指定的Constructor对象,在调用对象的newInstance()方法来创建Class对象对应类的实例,通过这种方法可以选定构造方法创建实例

    image-20201107134827802


文章作者: 夏梦
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 夏梦 !
 上一篇
Java集合类笔记 Java集合类笔记
集合简介什么是集合(Collection)?集合就是“由若干个确定的元素所构成的整体”。例如,5只小兔构成的集合: ┌ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ┐ │ (\_
2021-04-09
下一篇 
Java异常面试题 Java异常面试题
Java异常面试题概念某个方法不能按照正常的途径完成任务,就可以通过另一种路径退出方法。在这种情况下会抛出一个封装了错误信息的对象,此时这个方法会立即退出并且给不返回任何值。调用了这个方法的其他代码也无法执行 异常分类Throwable时J
2021-04-09
  目录