反射机制创建对象的最大优点是利用了Java语言的多态性,这样使得代码更加灵活。在观看源码的时候有这样一段代码就是典型的例子,可以借鉴:
出自SystemServiceManager的startService方法,这样在SystemServer中可以动态的开启想要开启的服务。
... ...
mSystemServiceManager.startService(ShortcutService.Lifecycle.class);
mSystemServiceManager.startService(LauncherAppsService.class);
mSystemServiceManager.startService(MediaProjectionManagerService.class);
... ...
/**
* Creates and starts a system service. The class must be a subclass of
* {@link com.android.server.SystemService}.
*
* @param serviceClass A Java class that implements the SystemService interface.
* @return The service instance, never null.
* @throws RuntimeException if the service fails to start.
*/
@SuppressWarnings("unchecked")
public <T extends SystemService> T