成都IT培训机构

试听课 + 活动课
填写信息优先获取试听课

位置:学校首页 > 学校动态>成都Java学习中如何认识反射

成都Java学习中如何认识反射

成都Java学习中如何认识反射?反射的概念 反射的概念是由 Smith 在1982年提出的,主要是指程序可以访问、检测和修改它本身状态或行为的一种能力。反射的概念,反射的概念是由 Smith 在1982年提出的,主要是指程序可以访问、检测和修改它本身状态或行为的一种能力。

换句话说,就是能够得到代码自身的特征。

换句话说,就是把类本身也看成是对象,包括类中的变量名、方法名、内部类、超类、包、修饰符等等,都可以通过代码来得到并被看成是对象。

java为此设计了一些类来方便我们使用反射。这些类并不多,它们分别是:Field、Constructor、Method、Class、Object,下面对这些类做一个简单的说明。

摘抄于其它资料,仅供阅读

Field 类:提供有关类或接口的属性的信息,以及对它的动态访问权限。反射的字段可能是一个类(静态)属性或实例属性,简单的理解可以把它看成一个封装反射类的属性的类。

Constructor 类:提供关于类的单个构造方法的信息以及对它的访问权限。这个类和 Field 类不同,Field 类封装了反射类的属性,而 Constructor 类则封装了反射类的构造方法。

Method 类:提供关于类或接口上某个单独方法的信息。所反映的方法可能是类方法或实例方法(包括抽象方法)。 这个类不难理解,它是用来封装反射类方法的一个类。

Class 类:类的实例表示正在运行的 Java 应用程序中的类和接口。枚举是一种类,注释是一种接口。每个数组属于被映射为 Class 对象的一个类,所有具有相同元素类型和维数的数组都共享该 Class 对象。

Object 类:每个类都使用 Object 作为超类。所有对象(包括数组)都实现这个类的方法。

获取Class类

有一个类,类名是Class,(首字母大写,不同于关键字class)。任何一个java类都是这个Class类的对象,即“类本身也是对象”的感觉。

一旦我们获取到了一个类的Class实例,那么在此基础上要获取Field、Constructor、Method等等的话也就很容易了(因此java的所有代码都在类中的嘛)。所以首要步骤是获取Class实例。

获取类自身有三种方式:

(1)利用 对象.getClass() 的方式获取该对象的Class实例;

(2)利用 对象.class 的方式来获取Class实例,对于基本数据类型的封装类,还可以采用.TYPE来获取相对应的基本数据类型的Class实例;

(3)使用 Class类的静态方法forName(“全路径名”),用类的名字获取一个Class实例。

领取试听课
温馨提示:为不影响您的学业,来校区前请先电话或QQ咨询,方便我校安排相关的专业老师为您解答
版权所有:搜学搜课(www.soxsok.com) 技术支持:搜学搜课网