提问人:Stanly T 提问时间:6/16/2016 最后编辑:Hitesh SahuStanly T 更新时间:10/8/2018 访问量:1752
SharedPreferences:它是一个类还是一个接口?
SharedPreferences : Is it a class or an interface?
问:
我很困惑,请帮帮我。
Android 开发人员文档说是一个接口,我们也可以在 grepCode 上看到 SharedPreferences 是一个接口。SharedPreferences
但 developers.android 也说是一个类。SharedPreferences
他们写道。
“SharedPreferences 类提供了一个通用框架......”
那么,SharedPreferences 是一个类还是一个接口?
答:
Sharedpreferences 是一个接口。您可以在此处看到 Sharedpreferences 将 Interface 作为其父项。
用于访问和修改 getSharedPreferences(String, int) 返回的首选项数据的接口。对于任何一组特定的首选项,所有客户端都共享此类的单个实例。
如需进一步参考,您可以查看此答案。
评论
嗯,SharedPrefs 是一个接口。它由 SharedPreferencesImpl 实现,它为我们提供了文档中关于共享首选项的功能。尽管 SharedPreferencesImpl 主要不在文档中,但 SharedPreferences 一直是该功能的代言人。
文档没有错,但可能有点令人困惑。
如果看到代码,就会发现 SharedPreferences
实际上是一个接口。但正如你提到的,这里它指的是它的实现作为类,实际上是,你可以在这里查看它的实现。当你调用方法时,它实际上返回的对象是一个实现接口的类。SharedPreferencesImpl
getSharedPreferences()
SharedPreferencesImpl
SharedPreferences
SharedPreferences 是接口,但作为类实现。这个概念是抽象工厂,是一种设计模式。SharedPreferences 的声明是 interface,但 getSharedPreference() 返回一个实现 SharedPreferences 接口的类。
评论