Android学习日志01 浅析单例
来源:互联网 发布:网络点击率最高电视 编辑:程序博客网 时间:2024/06/16 04:38
Android 学习总结01-单例
举例分析单例构成
- 建立Person类,该类包括两个成员变量:姓名(mName)和年龄(mAge);
- 建立PersonLab类,该类包括两个成员变量(private static PersonLab sPersonLab)和
- (private List<Person> mPersonList)
- 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)
- 建立Person类,该类包括两个成员变量:姓名(mName)和年龄(mAge);
- 建立PersonLab类,该类包括两个成员变量(private static PersonLab sPersonLab)和
- (private List<Person> mPersonList)
- 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(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一致.
------------------------
以上为个人分析,若存在谬误,欢迎斧正.
阅读全文
1 0
- Android学习日志01 浅析单例
- Android之单例设计模式浅析
- Android 单例(Singleton)模式 日志类
- 浅析Android单线程模型
- 浅析单例模式
- 浅析单例模式
- 单例模式浅析
- 单例模式浅析
- Android学习--单例模式
- 黑马程序员-学习日志-单例设计模式
- 浅析单例设计模式
- 单例模式浅析 - ios
- java单例模式浅析
- Android学习 - Android优化浅析
- Android学习历程6-单例模式
- 日志单例log4cpp简述
- android学习日志01__环境配置
- Android学习之SQLite浅析
- socket笔记
- HashMap源码分析
- Centos6.8下gitLab的安装
- 《笨办法学python》加分习题30——我的答案
- 合并两个图片成一个图片的代码
- Android学习日志01 浅析单例
- CodeForces
- kaldi的timit例子运行到SGMM2 Training & Decoding部分突然中断
- Java中repalceAll只替换第二个匹配到的字符串
- ubuntu快捷键
- vector<bool>的学习
- PAT--1030. Travel Plan(最短路)
- 28、几何算法-线段相交、凸包、球面弧长
- S2B2C模式学习总结