理解java反射
目录
Java 反射是可以让我们在运行时获取类的方法、属性、父类、接口等类的内部信息的机制
为什么用反射
假如你写了一段代码:Object o=new Object(); 运行了起来!扔给jvm去跑,跑完就over了,jvm关闭,你的程序也停止了; 想想上面的程序对象是自己new的,程序相当于写死了给jvm去跑。假如一个服务器上突然遇到某个请求哦要用到某个类,哎呀但没加载进jvm,是不是要停下来自己写段代码,new一下,哦启动一下服务器,(脑残)! 反射是什么呢?当我们的程序在运行时,需要动态的加载一些类这些类可能之前用不到所以不用加载到jvm,而是在运行时根据需要才加载,这样的好处对于服务器来说不言而喻。
反射是框架的灵魂
怎么创建
但是这个怎么实现动态的呢,这里的forName方法里面的字符串就是动态的。不同的类我们用不同的字符串 这样就可以在运行时加载类来用了。
|
|
反射调用一般分为3个步骤:
- 得到要调用类的class
- 得到要调用的类中的方法(Method)
- 方法调用(invoke)