1.通过类.class获取
class<reflect> class = reflect.class;
2.通过对象.getclass获取
class<? extends reflect> class
3.通过对象.getclass 获取 = new Reflect().getclass()
class.forName("")
4.通过classloader.loadclass
reflect.class.getclassLoader.loadclass()
什么是反射
代码在运行状态中,对于任意一个类,都能知道其所有属性和方法;可以调用任意一个方法和属性;
?class.forname classloader.loadclass的区别
1.forname在类加载的时候会执行静态代码块2.loadclass只有在调用newinstance方法的时候才会执行静态代码块
3.forname会对类初始化 loadclass加载的类对象是子啊第一次被调用时才进行初始化