A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© ELine 中级黑马   /  2015-1-2 12:15  /  6626 人查看  /  10 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

5黑马币
    SharedPreferences preferences=getSharedPreferences("State", MODE_PRIVATE);        这是调用系统中一个 SharedPreferences类创建一个 叫preferences的引用对象 的意思么。
  和
      Car car=new Car();
          这样通过构造函数创建一个引用对象有什么不同。preferences的内存分配情况又是怎么样的。求解



最佳答案

查看完整内容

SharedPreferences是andrioid中轻量级存储的接口,是不能拿来new 的, Car car=new Car();这是对类的实例化,并创建这个类的一个引用。这个类的引用存在于栈内存中,并且这个引用指向堆内存中这个引用的属性。

10 个回复

倒序浏览
SharedPreferences是andrioid中轻量级存储的接口,是不能拿来new 的,
Car car=new Car();这是对类的实例化,并创建这个类的一个引用。这个类的引用存在于栈内存中,并且这个引用指向堆内存中这个引用的属性。
回复 使用道具 举报
如果想了解他们的不同及内存分配,看下毕老师对接口和对象的讲解,你应该就明白了。
回复 使用道具 举报
Piaoyu 发表于 2015-1-2 20:14
如果想了解他们的不同及内存分配,看下毕老师对接口和对象的讲解,你应该就明白了。 ...

哦,谢谢,正在学习中....
回复 使用道具 举报
Joseph_liuxh 来自手机 中级黑马 2015-1-3 20:54:01
报纸
等号左边是接口,右边是实现该接口的子类,这是实例化类的一种方式,也体现了面向对象多肽的特性。
这个构造方法是有参构造方法。
内存分配上,引用类型存储在栈内存中,内容为地址,指向new出来的地址;new出来的部分在堆内存中。
回复 使用道具 举报
SharedPreferences类,它是一个轻量级应用程序内部轻量级的存储方案,特别适合用于保存软件配置参数,其实现方式为,在应用的安装路径下/data/data/<package name>/shared_prefs.,创建一个XML文件,用于保存数据;
getSharedPreferences实际为context.getSharedPreferences(..)的调用,SharedPreferences为android.content下的一个接口;new Car()等类型得到的是一个自定义的业务类,由其自定义的构造函数而创建一个具体的对象;

----------------------最后唠叨一句,本人想要进入黑马学习的人,现在继续技术分,如果可以请今天就把技术分给我,不然马上赶不上报名了,报名三天就截止了,以后慢慢在向您请教,先谢谢了-------------------------------
回复 使用道具 举报
好像没有解决到疑惑
回复 使用道具 举报
谢谢了,帮助到我了。。
回复 使用道具 举报
SharedPreferences是andrioid中轻量级存储的接口,是不能拿来new 的,
Car car=new Car();这是对类的实例化,并创建这个类的一个引用。这个类的引用存在于栈内存中,并且这个引用指向堆内存中这个引用的属性。
回复 使用道具 举报
SharedPreferences 是一个接口类,不可以new 接口,只能new 接口的实现类,所以要想获取SharedPreferences的实例,需要用getSharedPreferences("State", MODE_PRIVATE); 但是如果是一个类的话,是可以直接通过new创建对象的实例。还有一个例子就是 List<>和Map<>的实例就不能new List<>;而是new arrayList();同样的道理
回复 使用道具 举报
new /  get 方法。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马