黑马程序员技术交流社区

标题: 请问一下android中类的实例化 [打印本页]

作者: ELine    时间: 2015-1-2 12:15
标题: 请问一下android中类的实例化
    SharedPreferences preferences=getSharedPreferences("State", MODE_PRIVATE);        这是调用系统中一个 SharedPreferences类创建一个 叫preferences的引用对象 的意思么。
  和
      Car car=new Car();
          这样通过构造函数创建一个引用对象有什么不同。preferences的内存分配情况又是怎么样的。求解




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

作者: Piaoyu    时间: 2015-1-2 20:14
如果想了解他们的不同及内存分配,看下毕老师对接口和对象的讲解,你应该就明白了。
作者: ELine    时间: 2015-1-2 20:54
Piaoyu 发表于 2015-1-2 20:14
如果想了解他们的不同及内存分配,看下毕老师对接口和对象的讲解,你应该就明白了。 ...

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

----------------------最后唠叨一句,本人想要进入黑马学习的人,现在继续技术分,如果可以请今天就把技术分给我,不然马上赶不上报名了,报名三天就截止了,以后慢慢在向您请教,先谢谢了-------------------------------
作者: ELine    时间: 2015-1-4 21:02
好像没有解决到疑惑
作者: 209920266    时间: 2015-1-8 21:46
谢谢了,帮助到我了。。
作者: 右手年华    时间: 2015-4-4 23:03
SharedPreferences是andrioid中轻量级存储的接口,是不能拿来new 的,
Car car=new Car();这是对类的实例化,并创建这个类的一个引用。这个类的引用存在于栈内存中,并且这个引用指向堆内存中这个引用的属性。
作者: 不想拥有太多情    时间: 2015-4-9 16:29
SharedPreferences 是一个接口类,不可以new 接口,只能new 接口的实现类,所以要想获取SharedPreferences的实例,需要用getSharedPreferences("State", MODE_PRIVATE); 但是如果是一个类的话,是可以直接通过new创建对象的实例。还有一个例子就是 List<>和Map<>的实例就不能new List<>;而是new arrayList();同样的道理
作者: YongBao_Summer    时间: 2015-6-3 15:49
new /  get 方法。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2