Android学习日志01 浅析单例

来源:互联网 发布:网络点击率最高电视 编辑:程序博客网 时间:2024/06/16 03:03

Android  学习总结01-单例



举例分析单例构成

  1. 建立Person类,该类包括两个成员变量:姓名(mName)和年龄(mAge);
  2. 建立PersonLab类,该类包括两个成员变量(private static PersonLab sPersonLab)和
  3. (private List<Person> mPersonList)
  4. PersonLab类的三大基本组成方法
Private PersonLab(Contex cotext)
  • private PersonLab(Context context){    mPersonList=new ArrayList<>();    for(int i=0;i<20;i++){        Person person=new Person("我的名字是"+i,i);        mPersonList.add(person);    }}

权限为private的PersonLab()构造函数意味着只能由PersonLab类中才能创建PersonLab对象.

----------------

public static PersonLab get(Context context)

  • public static PersonLab get(Context context){    if(mPersonLab==null){        mPersonLab=new PersonLab(context);    }    return mPersonLab;}
权限为public,返回值为PersonLab对象的静态get方法.静态的PersonLab对象只能有一个,若想
在外部类中生成Person对象只能通过get()方法,若首次调用get()方法会生成含有20个Person
对象的List,反之不生成Person的对象的列表.这就意味着单例的"单",最多只会存在一个Person
的List对象.

-----------------
public List<Person> getPersons()
  • public List<Person> getPersons(){    return mPersonList;}

由于mPersonList的权限为private,因此外部类要想得到单例对象必须调用getPersons();
注;单例的生存周期与传入的Context参数所代表的Activity一致.
------------------------
以上为个人分析,若存在谬误,欢迎斧正.

原创粉丝点击