从此页面考虑此代码 Saving key - value sets
SharedPreferences sharedPref = getActivity().getPreferences(Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPref.edit();
editor.putInt(getString(R.string.saved_high_score), newHighScore);
editor.commit();
为什么可以在不提供实现的情况下使用putInt()方法,因为它是一个抽象方法? (见:SharedPreferences.Editor) 难道不应该这样做吗? 你能解释一下吗?感谢。
答案 0 :(得分:5)
只要你有一个对象的实例,就没有抽象方法这样的东西。所有实例都是具体且完全定义的。在这里,您获得sharedPref.edit()
返回的实例,因此您可以在其上调用putInt
。
答案 1 :(得分:2)
为什么在不提供实现的情况下使用putInt()方法是可能的,因为它是一个抽象方法?
editor
是实现SharedPreferences.Editor
接口的内部类的实例。最有可能的是,它是SharedPreferencesImpl.EditorImpl
的一个实例。