Java反射

一.什么是反射

反射是一种设计思想,怎样的思想呢?

首先我们先说java是一种面向对象的语言,由此衍生出"万物皆对象"的说法.我们把一辆车看成一个对象,那么我们先定义一个Car类,然后实例化一个car对象,这种是比较形象的使用方式.那既然"万物皆对象",我们定义的Car类是不是一种对象呢?是的,反射就是把Car类看成是一个对象,先定义了一个Class类,Car这个类就是Class的一个具体实例.

我们在程序设计中定义的所有类和接口都是这个Class类的实例,这种思想和概念就是反射.

二.反射有什么用

通过反射可以在程序运行时获得类和接口中定义的所有东西,包括字段,构造器,方法

通过反射可以在程序运行时创建对象,执行方法,修改字段

注意:这里强调了"运行时",Class类的实例表示正在运行的Java应用程序中的类和接口,而我们正是通过对Class实例的操作来完成相应功能的.

三.反射怎么用

首先我们要得到Class的实例,有三种方式:

1.Class.forName("全限定名")

2.类.class

3.对象.getClass();

得到Class实例后我们就可以根据Class的API来使用其方法

你可能感兴趣的:(Java反射)