最近在学java的反射机制,不过还是有一些疑问搞不懂,还请高手指教!首先,java的反射机制的原理就是在程序运行时加载指定的类,那么为什么要在程序运行的时候加载类呢,可不可以等程序运行到那里的时候再加载呢?难道在程序运行的时候加载类就是为了提高程序的效率吗?还有getClass()方法和类名.class以及Class.forName()它们之间的区别,它们都可以在程序运行时加载类吗?它们各自有怎样的特征呢?求高手解释,先谢啦!
java不是一直在强调,用到哪个类才把那个类加载进内存。
那三个方法没区别吧,都是获取class对象。把类的信息加载进内存
java的反射机制在代理模式中用得很多。还有一些容器也用到了,比如Tomcat容量,Spring容量
Class.forName()这个用的最多,其它的两个可以忽略