反射3()

上章讲到了反射,所以我们今天继续深入探索反射知识。

首先,第一点我们要知道反射是干什么的。

反射是框架的基础,框架的底层实现很多都是基于反射,反射使得java语言具有动态特性;

 

然后我们要了解反射机制能做什么

反射机制主要提供了以下功能: 

  • 在运行时判断任意一个对象所属的类;

  • 在运行时构造任意一个类的对象;

  • 在运行时判断任意一个类所具有的成员变量和方法;

  • 在运行时调用任意一个对象的方法;

  • 生成动态代理。

 

首先我们先讲讲获取对象的四种方式:

1.getclass();

2.class;

3class.forname();

4classLoader.getSystemClassLoader().loadclass();

具体代码:

//1.getClass();
Class clazz1 = aa.getClass();
//2. class
Class clazz2=String.class;

//3. forName
Class clazz3=null;
try {
clazz3 = Class.forName("java.lang.String");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
//4.ClassLoader
Class clazz4=null;
try {
clazz4= ClassLoader.getSystemClassLoader().loadClass("java.lang.String");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}

感悟:你若不想做,会找一个或无数个借口;你若想做,会想一个或无数个办法。

欲望以提升热忱,毅力以磨平高山!

原文地址:https://www.cnblogs.com/dxgld/p/13555503.html