Java 基础 —— 反射

Michael翔 at 
Java 基础 —— 反射的配图
通过反射查看类信息 Java 程序中的许多对象在运行时会出现两种类型:编译时类型和运行时类型。例如:Person p = new Student();,代码会生成一个 p 变量,编译时类型是 Person,运行时类型为 Student。除此之外,有时程序在运行时接收到外部传入的一个编译类型为 Object,但程序又需要调用该对象运行时类型的方法。未解决这些问题,程序需要运行时发现对象和类的真实信息。有下面两种做法:先试用 instanceOf 运算符进行判断,再利用强制类型转换将其转换成运行时类型的变量;程序只依靠运行时信息来发现该对象和类的真实信息,这就必须使用「反射」;本文就主要是来介绍反……