SharedPreferences:它是类还是接口?

时间:2016-06-16 09:42:18

标签: android sharedpreferences

我很困惑,请帮助我。

Android developers documentationSharedPreferences接口,我们也可以在grepCode上看到SharedPreferences是接口。< / p>

developers.android也说SharedPreferences类。

他们写道。

  

“SharedPreferences 提供了一个通用框架......”

那么, SharedPreferences 还是接口

4 个答案:

答案 0 :(得分:4)

文件没有错,但可能有点令人困惑。

如果您看到代码,您会看到SharedPreferences实际上是一个界面。但正如你所提到的,here 它将其实现称为实际为SharedPreferencesImpl的类,您可以查看其实现here。当您调用getSharedPreferences()方法时,它实际上返回SharedPreferencesImpl的对象,这是一个实现SharedPreferences接口的类。

答案 1 :(得分:2)

嗯,SharedPrefs是一个界面。它由SharedPreferencesImpl实现,它为我们提供了doc关于共享首选项的功能。虽然SharedPreferencesImpl主要不在doc中,但SharedPreferences一直是功能的代表。

答案 2 :(得分:2)

SharedPreferences是接口,但是作为类实现。这个概念是抽象工厂,一种设计模式。 SharedPreferences的声明是接口,但getSharedPreference()返回一个实现SharedPreferences接口的类。

答案 3 :(得分:0)

Sharedpreferences是一个界面。您可以看到here共享偏好已将接口作为其父级。

  

用于访问和修改getSharedPreferences(String,int)返回的首选项数据的接口。对于任何特定的首选项集,此类的单个实例都是所有客户端共享的。

如需进一步参考,您可以看到this回答。