Java反射机制(创建Class对象的三种方式)
1:了解什么是反射机制?
在通常情况下,如果有一个类,可以通过类创建对象;但是反射就是要求通过一个对象找到一个类的名称;
2:在反射操作中,握住一个核心概念:
一切操作都将使用Object完成,类,数组,的引用都可以使用Object进行接收;
3:Class类:
功能:
通过一个实例化对象,找到一个类的完整信息;
public final class Class<T>
extends Object
implements Serializable, GenericDeclaration, Type, AnnotatedElement
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
|
1:get.Class()方法:
任何一个类如果没有声明继承自那个父类,默认继承Object类;
返回Object运行时的类,返回值是Class类,此类就是反射的源头;
public final Class<?> getClass()
2:getName()方法:
public String getName()
以 String 的形式返回此 Class 对象所表示的实体(类、接口、数组类、基本类型或 void)名称;
3:传统方式和反射方式:
传统方式:
引入“包.类”的名称 ----- 通过new实例化 ------ 创建实例化对象
反射方式:
实例化对象 ----- getClass() ---- 得到完整的“包.类”名称
4:结论
所有类的对象实际上都是Class类的实例;
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
|