反射机制(也叫”内省”): 在编译时不需要知道以后调用自己的那个类的信息(或者说不关心谁调用自己)
因为在运行时,会自动获取到调用自己那个类的信息,这就叫反射机制 (说白了 , 所谓的反射机制,就是 ” 谁调用自己,谁就得把它的信息给我 ”)
反射机制主要用于java ee的各种框架 在各个框架中 都利用了反射机制 所以我们在调用它们的时候 就不必关心它们的细节 因为它们会自动得到我们用来调用它们的那个类的信息
这种”得到掉用自己类的信息”方法 , 主要是利用了Class这个类:
Class类只关心运行时的.class的信息, 它没有构造方法, 通过JVM自动加载.
基本类型数据和引用类型数据都有Class对象..
所谓的Class对象,就是通过 .class 文件获得了一个该类的描述
获取Class对象,也就等于得到了 .class 所对应的这个类的信息
利用Class类,来获取描述的方式有4种
1, xxx.getClass() 获取xxx类型的描述
2,Class.forName (String str) 此时str必须是带有包结构的全路径
3, int.class 获取int这个基本类型的描述
4, Integer.TYPE 获取Integer这个包装类型的描述 返回int
如果是Integer.class 返回Integer
具体使用方式:
1,
A a = new A();
Class c = a.getClass();
c.getName …..
2,
Class c = Class.forName(x.xx.xxx.A);
C.getName…. // 如果只是forName 前面没有c接收 意思就是加载类
// 类只会被加载一次 如果前面已经forName过 之后再有new也不会被加载了
3,
Class c = A.class; // 这种方法主要用在只知道类名,不能看到类的细节的时候
在程序运行时,JVM会自动检查是否已经获得了关于类的描述
如果true 不操作
如果false 会自动查找前面介绍的方法去获得相关描述
分享到:
相关推荐
### 类的反射机制及其常用方法 #### 反射机制简介 反射是Java语言的一个重要特性,它允许在运行时检查类、接口、字段和方法的信息,并且可以动态地调用方法或修改字段值。这种能力使得Java程序具有高度的灵活性和...
反射机制和类加载机制是Java编程语言中的两个重要概念。反射提供了强大的运行时元数据操作能力,而类加载机制则确保了类的安全加载和动态管理。深入理解这两个机制对于Java开发者来说至关重要,尤其对于那些从事框架...
### JAVA反射机制——Class类与Class对象的获取 #### 概述 在Java语言中,反射是一种强大的功能,允许程序在运行时动态地检查和修改自身的行为。这种能力是通过`java.lang.Class`类实现的,它提供了封装类或接口...
在Java中,反射机制主要通过java.lang.Class类和相关的类库来实现,它使得我们能够在运行时动态地获取类的信息(如类名、属性、方法等)并能创建和调用对象。 1. **类的加载与Class对象** 当Java虚拟机(JVM)加载一...
总结来说,"URLClass工程之间反射机制的实现"是一个关于如何利用Java反射API和`URLClassLoader`在不同工程之间进行类的动态加载和调用的实践案例。通过这个实例,开发者可以学习到如何增强代码的灵活性和可扩展性,...
Java中的反射机制是一种强大的工具,它允许程序在运行时检查和操作类、接口、字段和方法等对象。在Java 1.5引入的反射API使得开发者可以在编译期未知的情况下,动态地获取类的信息并执行相关操作。以下将详细介绍...
`Class`类在Java反射机制中扮演着核心角色,它是所有Java类的运行时表示。`Class`对象可以由以下几种方式获取: 1. **通过类的`Class`属性获取**:如`String.class`。 2. **通过对象的`getClass()`方法获取**:如`...
要掌握Java反射机制,我们需要了解如何操作`Class`类。`Class`类代表了一个类的运行时信息,通过`Class`对象,我们能够获取到类的所有属性、方法和构造器。例如,`Class.forName("全限定类名")`可以用来动态加载类;...
类的反射机制是Java编程语言中的一个重要特性,它允许程序在运行时检查和操作类、接口、字段以及方法等对象。这种动态类型的能力使得代码更加灵活,能够在未知类的情况下进行操作,增强了程序的可扩展性和元编程能力...
在JAVA反射机制中,Class类和Field类、Method类、Constructor类是最重要的三个类,它们提供了访问类、字段、方法和构造函数的能力。 在获取某个对象的属性时,我们可以使用getField方法,例如: ```java public ...
在Java编程中,类反射机制是一种强大的工具,它允许程序在运行时检查并操作类的信息,包括类的方法、属性和构造器。这个机制是Java动态性的重要体现,它使得我们能够在不知道具体类名的情况下,创建对象并调用其方法...
反射机制的核心在于`java.lang.reflect`包中的类,如Class、Constructor、Method和Field。标题"反射机制反射Dao"暗示我们将探讨如何使用反射与数据访问对象(DAO)模式相结合。 反射机制允许程序在运行时动态地获取...
反射机制的核心在于`java.lang.Class`类和`java.lang.reflect`包中的相关类,如`Constructor`、`Method`和`Field`。这些工具使得开发者能够创建和访问类、接口、构造器、方法和字段,即使在编写代码时这些信息并未...
Java反射机制是Java编程语言中的一个强大特性,它允许程序在运行时检查和操作类、接口、字段和方法的信息。这个特性使得Java具备了高度的灵活性,能够在运行时动态地发现和使用类的属性和方法,即使这些信息在编译时...
反射机制是Java编程语言的一个核心特性,它允许程序在运行时动态地获取类的信息,并且能够动态地创建对象和调用对象的方法。简单来说,反射机制使得Java程序可以自我检查、自我调整。 在Java中,所有的类型都是`...
Java反射机制的主要作用包括:获取类的所有属性和方法、构造动态实例、调用类的方法等。通过反射,程序可以动态地创建对象和调用其方法,从而实现更灵活的功能。 #### 二、Java反射机制的由来与发展 Java反射机制...
1.动态方法调用:可以使用反射机制来动态地调用一个类的方法,例如在上面的代码中,使用 `Class.forName()` 方法获取 `TestMethod` 类的 `Class` 对象,然后使用 `getMethod()` 方法获取 `test` 方法,并使用 `...