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