Java程序员面试宝典第9篇.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第9 章 Java 的反射机制 反射机制(Reflection ),是Java 提供的一项比较高级的功能,一般的Java 开发者使 用它的时候相对比较少。但是,Java 的反射却是大多数框架的基础,例如,Struts、Hibernate 和Spring 等。反射机制就好像外科医生的解剖工具,突然从外太空来了一个人,如何知道 它的具体构造呢?最好的办法就是把它解剖来看一看,反射机制就是用来解剖Java 的类、 接口、方法、属性等元素的。本章将包含关于Java 的反射机制的一些常见面试题,并且分 析这些题目和知识点,帮助读者梳理这些方面的知识。 9.1 反 射 基 础 反射提供了一种动态的功能,这种动态功能非常的强大。它主要体现在通过反射相关 的API ,就可以知道一个陌生的Java 类的所有信息,包括属性、方法、构造器等。而且元 素完全可以在运行时动态的进行创建或调用,而不必在JVM 运行时就进行确定。本节将集 中讨论有关Java 反射机制基础的常见面试题。 面试题086 反射的原理是什么 严格意义上来讲,Java 并不是动态语言,它并没有Perl 和Python 那样灵活多变。但是, Java 的反射机制却让它显得动态起来,这是为什么呢?通过回答本例问题,将了解Java 反 射的原理是什么。 【出现频率】★★★★ 【关键考点】  什么是反射机制;  反射机制的作用是什么。 【考题分析】 一般情况下,如果想生成这个类的对象时,运行这个程序的JVM 会确认这个类的Class 对象是否已经加载。如果尚未加载,JVM 就会根据类名查找.class 文件,并将其载入,一 旦这个类的Class 对象被载入内存,它就可以被用来创建这个类的所有对象。 另外,对于一个未知类型的引用来说,通常会采用强制类型转换的形式来得到开发者 想要的类型引用,如果执行了一个错误的类型转换,就会抛出一个 ClassCastException 异常。 在以上两个过程中,Class 类一直都在起作用。因为 Class 类实例包含的是一个 Java 类的全部信息,包括类名、方法、属性等。换句话来说,也就是 Class 对象就是代表一个 第9 章 Java 的反射机制 类的类。 Java 用Class 类来代表了所有的类,方便了开发者掌控类信息。通过Class,开发者可 以得到属性(Field )、方法(Method )、构造器(Constructor )、修饰符(Modifier )等信 息。在动态的获取这些信息以后,开发者就可以用该 Class 创建实例、调用任何方法、访 问任何属性等操作,这些也是反射的主要用途。 反射机制相关的API 主要集中在java.lang.reflect 包下面,开发者也就是利用该包下面 的接口和类进行相关的反射开发的。大多数的框架,如Struts、Hibernate 和 Spring,都会 频繁地使用反射API 来完成它们动态的功能。 【答案】 反射是为了能够动态地加载一个类,动态地调用一个方法,动态地访问一个属性等动 态要求而设计的。它的出发点就在于JVM 会为每个类创建一个java .lang.Class 类的实例, 通过该对象可以获取这个类的信息,然后通过使用jav a.lang.reflect 包下的API 以达到各种 动态需求。 面试题087 Class 类的含义和作用是什么 Class 类在反射机制中起到了非常关键的作用,它是开发者进行反射开发的入口。那应 该如何获取一个类的Class 对象呢?如何让一个类动态的加载到JVM 中呢?通过回答本例 的问题,深入地了解Class 类的含义和用途。 【出现频率】★★★★★ 【关键考点】  Class 类的含义;  如何获取Class 对象。 【考题分析】 在前面内容中,读者知道了 Class 是用来记录一个类的各种信息的,它伴随着类的加 载而创建。那么,类会在什么时候被加载到JVM 中呢?概括来说,一个普通的Java 类, 会在以下几种情况,被加载到JVM 中。 (1)需要使用该类创建对象。如下代码就会到导致Student 类被加载到JVM 中: Sutdent stu =

文档评论(0)

kehan123 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档