为什么 SharedPreferences 可以直接 调用,前面却没有对象

获取SharedPreferences的两种方式:
1 调用Context对象的getSharedPreferences()方法
2 调用Activity对象的getPreferences()方法
两种方式的区别:
调用Context对象的getSharedPreferences()方法获得的SharedPreferences对象可以被同一应用程序下的其他 组件共享.
调用Activity对象的getPreferences()方法获得的SharedPreferences对象只能在该Activity中使用.
 
 
  1. public class MainActivity extends Activity {
  2. PopupWindow popupWindow;
  3. View parent;
  4. protected void onCreate(Bundle savedInstanceState) {
  5. super.onCreate(savedInstanceState);
  6. setContentView(R.layout.activity_main);
  7. //第一种  通过 context调用 getApplicationContext().getSharedPreferences(name, mode)
  8. //第er种  通过 activity调用 this.getSharedPreferences(name, mode)    ,  this  代表当前对象mainactivity, 可以省略    也就是   写成  getSharedPreferences(name, mode) 
  9.  }

 

我的问题是    

我查到 getSharedPreferences 是contextwrapper 类的 方法。mainactivity 虽然继承自  activity  继承自contextwrapper 。

但是方法一定要对象调用才可以啊。

其实 是 java基础没有掌握牢固

所以  maiactivity 继承自  contextwrapper。 

contextwrapper 内  有 getsharedpreference

所以 相当于mainactivity 内部有   这个方法。

所以  在 mainactivity  内部的  oncreat()方法 调用时候 是可以 直接调用  。而可以省略this的

转载于:https://www.cnblogs.com/WhiteHorseIsNotHorse/p/5142091.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值