我有一个问题: 所以我有这行代码(我是从 thenewboston 的 tuts 得到的):
SharedPreferences getPrefs = PreferenceManager.getDefaultSharedPreferences(getBaseContext());
我的问题是:我们在这一行做了什么?我认为我们从 SharedPreferences 创建了一个对象,但是 PreferenceManager 类呢?它是 SharedPreference 的父类(super class)吗?它与 OOP 有什么关系吗?
谢谢大家~
PS:英语不是我的母语,如果我犯了一些错误,我很抱歉:D
最佳答案
PreferenceManager 有一个名为 getDefaultSharedPreferences 的静态方法。这意味着您无需先构造“PreferenceManager”的实例即可调用该方法。静态方法不对类中的实例变量进行操作。
静态方法可以创建对象的实例,并返回它们。在本例中,静态方法创建了一个新的 SharedPreferences 对象,您将其存储在局部变量中。
可以这样想:一个对象的所有实例都存在一次静态方法。每次调用该静态方法时,无论每个对象可能知道什么,它都在做同样的事情。根据传递给它的上下文,它将创建一个您可以使用的 SharedPreferences 对象。
希望对您有所帮助!
关于android - 混淆理解类/对象 :D,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9552464/