首页 > 编程语言 > 详细

Java 之 反射机制

时间:2020-02-15 14:21:20      阅读:50      评论:0      收藏:0      [点我收藏+]

一、反射介绍

  Java程序中,所有的对象都有两种类型:编译时类型运行时类型,而很多时候对象的编译时类型和运行时类型不一致。

  例如:我们某些变量或形参的类型是Object类型,但是程序确需要调用该对象运行时类型的方法,该方法不是Object中方法,那么如何解决呢?

  为了解决这些问题,程序需要在运行时发现对象和类的真实信息,我们有两种方法:

  (1)第一种是在编译和运行时都完全知道类型的具体信息,在这种情况下,我们可以直接先使用instanceof运算符进行判断,再利用强制类型转换符将其转换成运行时类型的变量即可。

  (2)第二种是编译时根本无法预知该对象和类的真实信息,程序只能依靠运行时信息来发现该对象和类的真实信息,这就必须使用反射。

  因为加载完类之后,在堆内存的方法区中就产生了一个Class类型的对象(一个类只有一个Class对象),这个对象就包含了完整的类的结构信息。我们可以通过这个对象看到类的结构。这个对象就像一面镜子,透过这个镜子看到类的结构,所以,我们形象的称之为:反射

二、反射:框架设计的灵魂

  框架:是一个可以供我们使用的半成品软件。可以在框架的基础上进行软件开发,简化编码。

  反射:将类的各个组成部分封装为其他对象,这就是反射机制。

    好处

      (1)可以在程序运行过程中,操作这些对象。

      (2)可以解耦,提供程序的可扩展性。

  Java 代码的三个阶段:

技术分享图片

三、用途

  1、通过反射查看类的信息

  2、通过反射生成并操作对象

 

Java 之 反射机制

原文:https://www.cnblogs.com/niujifei/p/12311860.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!