Java的反射机制---面试
- 反射的原理是什么
关键考点:
什么是反射机制
反射机制的作用是什么
【答案】
反射是为了能够动态地加载一个类,动态地调用一个方法,动态地访问一个属性等动态要求而设计的。它的出发点就在于JVM会为每个类创建一个java.lang.Class类的实例,通过该对象可以获取这个类的信息,然后通过使用java.lang.reflect包下的API以达到各种动态需求。
- Class类的含义和作用是什么
关键考点:
Class类的含义
如何获取Class对象
【答案】
每一个Class类的对象就代表了一种被加载进入JVM的类,它代表了该类的一种信息映射。开发者可以通过以下3种途径获取到Class对象。
- Class类的forName()方法的返回值。
- 访问所有类都会拥有的静态的class属性。
- 调用所有对象都会有的getClass()方法。
在Class类中,定义许多关于类信息的方法。例如,getName()、getMethod()、getConstructor()和newInstance()等可以用于反射开发,还有isInstance()和isInterface()等一些关于类的功能方法。
- 如何操作类的成员变量
关键考点:
Field的含义
Field类的常用方法。
【答案】
Field提供有关类或接口的单个静态或实例字段的信息,它通过Class类的getDeclaredField()或getDeclaredFields()方法获取到,再置于java.lang.reflect包下。Field的方法主要分为两大类,即getXXX和setXXX,她们都需要提供相应的实例对象,setXXX还需要提供需要设置的值。
- 如何操作类的方法(Method)
关键考点:
Method的含义
Method类的常用方法
【答案】
Method提供关于类或接口中的某个方法(以及如何访问该方法)的信息,包括了静态方法额成员方法(包括抽象方法在内)。它通过Class类的getMethod()或getMethods()方法获取到,该类定义在java.lang.reflect包下。Method类的最常用的方法是invoke(),正是通过它来完成方法被动态调用的目的。
- 如何利用反射实例化一个类
关键考点:
Class类的newInstance()方法的使用
Constructor类的使用
【答案】
根据调用构造方法的不同,用反射机制来实例化一个类,可以有两种途径。如果使用无参数的构造方法,则直接使用Class类的newInstance()方法即可。若需要使用特定的构造方法创建对象,则需要先获取Contructor实例,再用newIntance()方法创建对象。
- 如何利用反射机制来访问一个类的私有成员
关键考点:
反射API的使用
如何获得私有成员的实例
【答案】
在使用反射机制访问私有成员的时候,他们的可访问性是为false的。需要调用setAccessible(true)方法,把原本不可访问的私有成员变为可以访问以后,才能进行成功的访问或调用。
- 如何利用反射来覆盖数据对象的toString()方法
关键考点:
Field的使用
【答案】
对于数据类型的类的toString()方法,覆盖它的基本思路,主要有以下几点:
- 通过getDeclaredFields()方法得到所有的Field对象。
- 把上一步得到的Field对象数组进行遍历。
- 每一次循环加上字段名和字段值。
- 返回循环叠加以后的字符串结果。
Java的反射机制---面试相关推荐
- Java的反射机制 工厂模式综合讲解【转载自51CTO】
2019独角兽企业重金招聘Python工程师标准>>> Java的反射机制 工厂模式综合讲解 1.什么叫反射 Java.lang.reflect包下 正常情况下我们可以通过类实例化一 ...
- java xml 反射_Java 读取XML文件以及Java 的反射机制实现
Java 读取XML文件以及Java 的反射机制实现 代码部分 import java.io.File; import javax.xml.parsers.DocumentBuilder; impor ...
- Java编程:Java的反射机制中的 getComponentType() 方法
转载自 Java编程:Java的反射机制中的 getComponentType() 方法 Java 中所有的类都继承自 Object,数组本身也是一个 Class,如果我们能够得到数据的 Class ...
- 搞懂Java的反射机制
搞懂Java的反射机制 1.什么是反射? java的反射机制是指可以在运行状态下获取类和对象的所有属性和方法. 2.反射的作用? 1.在运行时获取一个类/对象的成员变量和方法 2.在运行时创建一个类的 ...
- java原理—反射机制
http://www.cnblogs.com/forlina/archive/2011/06/21/2085849.html 一.什么是反射: 反射的概念是由Smith在1982年首次提出的,主要是指 ...
- java反射之获取class对象,Java之反射机制(获取Class对象的三种方式)
Java之反射机制(获取Class对象的三种方式) 开发工具与关键技术:MyEclipse 10,java 作者:刘东标 撰写时间:2019-06-14 如何得到各个字节码对应的实例对象? 每个类被加 ...
- 学习:java原理—反射机制
一.什么是反射: 反射的概念是由Smith在1982年首次提出的,主要是指程序可以访问.检测和修改它本身状态或行为的一种能力.这一概念的提 出很快引发了计算机科学领域关于应用反射性的研究.它首先被程序 ...
- Java —— Reflect反射机制
JAVA反射机制是在运行时,对于任意一个类,都能够知道这个类的所有属性和方法:对于任意一个对象,都能够调用它的任意一个方法和属性:这种动态获取的信息以及动态调用对象的方法的功能称为java的反射机制. ...
- 什么是Java的反射机制
Java反射机制是Java的特点,是框架实现的基础,百度结果: JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法:对于任意一个对象,都能够调用它的任意一个方法和属性:这 ...
最新文章
- css中调整高度充满_CSS(十三).高度如何铺满全屏
- linux yum仓库建立 createrepo 命令简介
- 30+个必知的《人工智能》会议清单
- 开源中文bi_主流开源 BI 产品对比
- android html 换行_android TextView怎么设置个别字体颜色并换行?
- 不同编译单元内的非局部静态对象的初始化次序问题
- 用网络访问控制(NAC)解决网络安全问题
- esxi update patch
- abbot_release
- 大数据入门教程系列之Hadoop环境搭建、软件准备
- 机器学习之分类算法--mnist手写体识别
- OSChina 周三乱弹 —— 有种思念叫忘穿秋裤
- codeforces1379B Dubious Cyrpto
- 简易的记账软件设计与实现
- 精通CFD工程仿真与案例实战
- 跟着阿拉丁学习民生银行数据分析
- 2020清华大学计算机学院黄翔,清华大学计算机科学与技术系2020—2021学年度学生会主席候选人名单公示...
- qt样式表设置边框_QT样式表
- 经典文献阅读之--Globally Consistent and Tightly Coupled 3D LiDAR Inertial Mapping(紧耦合3D激光雷达)
- DevExpress CMB下拉树