Java反射调用一个类,是在编译时执行还是在运行时执行?

Java反射调用一个类,是在编译时执行还是在运行时执行?求执行过程详解,以及何时适合用到反射

阅读 5.6k
1 个回答

一定是在运行时。
反射的原理是,在运行时,通过反射,可以获取到虚拟机的方法区内装载的所有类信息,从而调用这些类。如果某个类没有被装载,是反射不到的。
至于什么时候适合用到反射,视你的应用场景而定,当有一些类的结构是你无法预知的,但又要视其结构不同而进行不同的调用。
举个例子,做框架,对于使用这个框架的开发者的类的调用。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进