1. 反射的原理是什么

关键考点:
 什么是反射机制
 反射机制的作用是什么

【答案】
反射是为了能够动态地加载一个类,动态地调用一个方法,动态地访问一个属性等动态要求而设计的。它的出发点就在于JVM会为每个类创建一个java.lang.Class类的实例,通过该对象可以获取这个类的信息,然后通过使用java.lang.reflect包下的API以达到各种动态需求。

  1. Class类的含义和作用是什么

关键考点:
 Class类的含义
 如何获取Class对象

【答案】
每一个Class类的对象就代表了一种被加载进入JVM的类,它代表了该类的一种信息映射。开发者可以通过以下3种途径获取到Class对象。

  1. Class类的forName()方法的返回值。
  2. 访问所有类都会拥有的静态的class属性。
  3. 调用所有对象都会有的getClass()方法。

在Class类中,定义许多关于类信息的方法。例如,getName()、getMethod()、getConstructor()和newInstance()等可以用于反射开发,还有isInstance()和isInterface()等一些关于类的功能方法。

  1. 如何操作类的成员变量

关键考点:
 Field的含义
 Field类的常用方法。

【答案】
Field提供有关类或接口的单个静态或实例字段的信息,它通过Class类的getDeclaredField()或getDeclaredFields()方法获取到,再置于java.lang.reflect包下。Field的方法主要分为两大类,即getXXX和setXXX,她们都需要提供相应的实例对象,setXXX还需要提供需要设置的值。

  1. 如何操作类的方法(Method)

关键考点:
 Method的含义
 Method类的常用方法

【答案】
Method提供关于类或接口中的某个方法(以及如何访问该方法)的信息,包括了静态方法额成员方法(包括抽象方法在内)。它通过Class类的getMethod()或getMethods()方法获取到,该类定义在java.lang.reflect包下。Method类的最常用的方法是invoke(),正是通过它来完成方法被动态调用的目的。

  1. 如何利用反射实例化一个类

关键考点:
 Class类的newInstance()方法的使用
 Constructor类的使用

【答案】
根据调用构造方法的不同,用反射机制来实例化一个类,可以有两种途径。如果使用无参数的构造方法,则直接使用Class类的newInstance()方法即可。若需要使用特定的构造方法创建对象,则需要先获取Contructor实例,再用newIntance()方法创建对象。

  1. 如何利用反射机制来访问一个类的私有成员

关键考点:
 反射API的使用
 如何获得私有成员的实例

【答案】
在使用反射机制访问私有成员的时候,他们的可访问性是为false的。需要调用setAccessible(true)方法,把原本不可访问的私有成员变为可以访问以后,才能进行成功的访问或调用。

  1. 如何利用反射来覆盖数据对象的toString()方法

关键考点:
 Field的使用

【答案】
对于数据类型的类的toString()方法,覆盖它的基本思路,主要有以下几点:

  1. 通过getDeclaredFields()方法得到所有的Field对象。
  2. 把上一步得到的Field对象数组进行遍历。
  3. 每一次循环加上字段名和字段值。
  4. 返回循环叠加以后的字符串结果。

Java的反射机制---面试相关推荐

  1. Java的反射机制 工厂模式综合讲解【转载自51CTO】

    2019独角兽企业重金招聘Python工程师标准>>> Java的反射机制 工厂模式综合讲解 1.什么叫反射 Java.lang.reflect包下 正常情况下我们可以通过类实例化一 ...

  2. java xml 反射_Java 读取XML文件以及Java 的反射机制实现

    Java 读取XML文件以及Java 的反射机制实现 代码部分 import java.io.File; import javax.xml.parsers.DocumentBuilder; impor ...

  3. Java编程:Java的反射机制中的 getComponentType() 方法

    转载自  Java编程:Java的反射机制中的 getComponentType() 方法 Java 中所有的类都继承自 Object,数组本身也是一个 Class,如果我们能够得到数据的 Class ...

  4. 搞懂Java的反射机制

    搞懂Java的反射机制 1.什么是反射? java的反射机制是指可以在运行状态下获取类和对象的所有属性和方法. 2.反射的作用? 1.在运行时获取一个类/对象的成员变量和方法 2.在运行时创建一个类的 ...

  5. java原理—反射机制

    http://www.cnblogs.com/forlina/archive/2011/06/21/2085849.html 一.什么是反射: 反射的概念是由Smith在1982年首次提出的,主要是指 ...

  6. java反射之获取class对象,Java之反射机制(获取Class对象的三种方式)

    Java之反射机制(获取Class对象的三种方式) 开发工具与关键技术:MyEclipse 10,java 作者:刘东标 撰写时间:2019-06-14 如何得到各个字节码对应的实例对象? 每个类被加 ...

  7. 学习:java原理—反射机制

    一.什么是反射: 反射的概念是由Smith在1982年首次提出的,主要是指程序可以访问.检测和修改它本身状态或行为的一种能力.这一概念的提 出很快引发了计算机科学领域关于应用反射性的研究.它首先被程序 ...

  8. Java —— Reflect反射机制

    JAVA反射机制是在运行时,对于任意一个类,都能够知道这个类的所有属性和方法:对于任意一个对象,都能够调用它的任意一个方法和属性:这种动态获取的信息以及动态调用对象的方法的功能称为java的反射机制. ...

  9. 什么是Java的反射机制

    Java反射机制是Java的特点,是框架实现的基础,百度结果: JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法:对于任意一个对象,都能够调用它的任意一个方法和属性:这 ...

最新文章

  1. css中调整高度充满_CSS(十三).高度如何铺满全屏
  2. linux yum仓库建立 createrepo 命令简介
  3. 30+个必知的《人工智能》会议清单
  4. 开源中文bi_主流开源 BI 产品对比
  5. android html 换行_android TextView怎么设置个别字体颜色并换行?
  6. 不同编译单元内的非局部静态对象的初始化次序问题
  7. 用网络访问控制(NAC)解决网络安全问题
  8. esxi update patch
  9. abbot_release
  10. 大数据入门教程系列之Hadoop环境搭建、软件准备
  11. 机器学习之分类算法--mnist手写体识别
  12. OSChina 周三乱弹 —— 有种思念叫忘穿秋裤
  13. codeforces1379B Dubious Cyrpto
  14. 简易的记账软件设计与实现
  15. 精通CFD工程仿真与案例实战
  16. 跟着阿拉丁学习民生银行数据分析
  17. 2020清华大学计算机学院黄翔,清华大学计算机科学与技术系2020—2021学年度学生会主席候选人名单公示...
  18. qt样式表设置边框_QT样式表
  19. 经典文献阅读之--Globally Consistent and Tightly Coupled 3D LiDAR Inertial Mapping(紧耦合3D激光雷达)
  20. DevExpress CMB下拉树

热门文章

  1. 回收站删除数据恢复怎么操作
  2. Docker数据卷和网络管理 下
  3. Heritrix1.14.4安装配置和使用
  4. 关于多线程的那点事之番外篇 -Python
  5. 电动车辆复合电源模型-matlab仿真模型
  6. 河北计算机课本初中,《信息技术》初中版(第一册)
  7. [驱动][转载] 使自己的驱动无法卸载(包括Xuetr)
  8. ICLR 2021杰出论文奖公布,DeepMind是最大赢家
  9. 2.1.4 字符与字符串编码
  10. 如何积累你的freestyle万能套词库