反射
概念:
JAVA反射机制是在运行状态中,对于任意一个实体类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性;这种动态获取信息以及动态调用对象方法的功能称为java语言的反射机制。
Class类
Class类的对象表示正在运行的Java应用程序中的类和接口.
Class类是一切Reflection
(反射)的根本,只有先产生一个Class类
的对象,反射才可以往下继续进行.
获取Class类对象的方法:
获取Class类对象的方法有三种:
1.通过对象的getClass()
方法来获取:
2.通过类.class
获取
3.通过Class.forName()
方法来获取,参数为要查询的类的类名全称(包括package)
案例:
public class ReflectionDemo1 {
/*
一.获取Class对象的三种方法案例
*/
@Test
public void test1() throws ClassNotFoundException {
Dog dog = new Dog("小明",2,"red");
//1.通过对象的getClass()方法获取;
Class<? extends Dog> aClass = dog.getClass();
//2.通过 类.calss 来获取
Class<Dog> dogClass = Dog.class;
//3.通过Class.forName( )方法 获取,参数为要查询的类名全称(包括包名)
Class<?> dog1 = Class.forName("Dog");
}
}