《Java 从小白到大牛》第26章:反射

第26章 反射

反射(Reflection)是程序的自我分析能力,通过反射可以确定类有哪些方法、有哪些构造方法以及有哪些成员变量。Java语言提供了反射机制,通过反射机制能够动态读取一个类的信息;能够在运行时动态加载类,而不是在编译期。反射可以应用于框架开发,它能够从配置文件中读取配置信息动态加载类、创建对象,以及调用方法和成员变量。
在这里插入图片描述

26.1 Java反射机制API

Java反射机制API主要是 java.lang.Class类和java.lang.reflect包。

26.1.1 java.lang.Class类
java.lang.Class类是实现反射的关键所在,Class类的一个实例表示Java的一种数据类型,包括类、接口、枚举、注解(Annotation)、数组、基本数据类型和void,void是“无类型”,主要用于方法返回值类型声明,表示不需要返回值。Class没有公有的构造方法,Class实例是由JVM在类加载时自动创建的。
程序代码中获得Class实例可以通过如下代码实现;
//1.通过类型class静态变量
Class clz1 = String.class;
String str = “Hello”;
//2.通过对象的getClass()方法
Class clz2 = str.getClass();
每一种类型包括类和接口等,都有一个class静态变量可以获得Class实例。另外,每一个对象都有getClass()方法可以获得Class实例,该方法是由Object类提供的实例方法。
Class类提供了很多方法可以获得运行时对象的相关信息,下面的程序代码展示了其中一些方法。
//HelloWorld.java文件
package com.a51work6;

public class HelloWorld {

 
 

你可能感兴趣的:(Java从小白到大牛)