Я прочитал, мы можем только создать экземпляр абстрактного класса, наследуя его, но мы не можем его создать напрямую.
Однако я видел, что мы можем создать объект с типом абстрактного класса, вызвав метод другого класса.
Например, LocationProvider
является абстрактным классом, и мы можем его создать, вызвав функцию getProvider()
в классе LocationManager
:
LocationManager lm = getSystemService(Context.LOCATION_PROVIDER);
LocationProvider lp = lm.getProvider("gps");
Как здесь создается экземпляр абстрактного класса?