学分高考 Java

Java培训_反射中的Class对象

发布时间: 2022-03-18 01:06:01

Java培训_反射中的Class对象

反射的概述
JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。
反射机制可以说是Java框架设计的灵魂。
其实反射就是对一个类进行解剖,要想解剖一个类,必须先要获取到该类的字节码文件对象。而解剖使用的就是Class类中的方法.所以先要获取到每一个字节码文件对应的Class类型的对象.
反射就是把java类中的各种成分映射成一个个的Java对象
例如:一个类有:成员变量、方法、构造方法、包等等信息,利用反射技术可以对一个类进行解剖,把个个组成部分映射成一个个对象。
(其实:一个类中这些成员方法、构造方法、在加入类中都有一个类来描述)
如图是类的正常加载过程:反射的原理在与class对象。
熟悉一下加载的时候:Class对象的由来是将class文件读入内存,并为之创建一个Class对象。

java培训​​

其中,在反射机制中,Class对象是一个很特殊的对象,所以我们先了一下Class对象

Class类在API中的详解
Class类是属于lang包中的一个类,Class类的实例表示的是正在运行中的Java应用程序中的类和接口。也就是JVM中有N个实例所对应类都有对应的Class对象。
Class类没有公共的构造方法,也就意味着我们不能手动的去创建这个类的对象,它只能是由JVM创建,我们只需要获取使用即可。
Class对象的获取
获取Class对象的三种方式
a)通过Object类,调用getClass()方法获取
b)任何数据类型(包括基本数据类型)都会有一个“静态”的class属性
c)通过Class类的静态方法获取:forName(String className)

注意;在运行期间,一个类,只有Class对象产生。


三种方式常用第三种,第一种对象都有了还要反射干什么。第二种需要导入类的包,依赖太强,不导包就抛编译错误。一般都第三种,一个字符串可以传入也可写在配置文件中等多种方法。​

温馨提示:
本文【Java培训_反射中的Class对象】由作者教培参考提供。该文观点仅代表作者本人,学分高考系信息发布平台,仅提供信息存储空间服务,若存在侵权问题,请及时联系管理员或作者进行删除。
我们采用的作品包括内容和图片部分来源于网络用户投稿,我们不确定投稿用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的权利,请联系我站将及时删除。
内容侵权、违法和不良信息举报
Copyright @ 2024 学分高考 All Rights Reserved 版权所有. 湘ICP备17021685号