你能用Java实例化一个接口吗?我知道快速回答是“不”。但有件事我不太理解。
这里发生了什么?
共享首选项是一个公共接口。然而,我们并不像我在书中读到的那样使用这个接口,我们不创建一个类并实现 SharedPreferences。相反,我们像这样使用这个 API:
SharedPreferences pref = Context.getSharedPreferences("some value", 0);
那么这段代码到底发生了什么?
我认为它就像获取共享首选项()正在创建一个SharedPreferences
我们可以使用和操作的对象。
But SharedPreferences
是一个接口...我被告知你必须实现接口而不是创建它们的对象。这在Java中是什么?
当我查看 Java API 时,我看到一个定义为公共接口的类。我如何知道何时实现该接口或何时从中创建此类对象?
你永远无法在java中实例化接口。但是,您可以通过接口的类型来引用实现接口的对象。
所以发生的事情是getSharedPreferences
返回一个实现该接口的对象。返回对象的类型并不重要。重要的是它实现了该接口的所有方法,因此它可以用作SharedPreferences
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)