JAVA的反射机制。
最近看了一下一些发行的库,比如objot等是说运行是没有反射。实现了ioc与aop,不再有反射。是什么原理哦?比如我要动态地调用某个类的某个方法,就只有方法名与类名,参数列表类型,不使用反射能完成吗?
关于反射,我真被搞晕了,什么时候才算是反射呢?
比如
Class A {
int field;
void method();
}
在操作A类时。
A a = new A();
//或者这里发生反射了吗? Class<?> c = a.getClass();
Class<?> c = A.class; //这里发生反射的操作了吗?
Method m = c.getDeclaredMethod("method",new Class[]{}); //这里应该发生了反射吧?
m.invoke(a); //这里还算是反射吗?
我有一个Method对象时,调用method的invoke方法还算是反射吗?
能详细说说这个吗?我老觉得我一用反射来做东西,就联想到它的性能比较差。想找代替品,又找不到更灵活的。唉。。