




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、java 中的 return this 问题return this ;人家都知道,这是返回当前对象引用,我就很郁闷,这个有什么好返冋的, 返回给谁? ? ?假设返回给a,那a为什么不用前面创建对象的变量直接去访问,??? 补充:public class leafint i =0;leafin creme nt()i+;return this;void print()+ d;system.out.println( lfipublic staticvoid main(stri ngargs)leaf x = new leaf();x.increme nt();输出结果是什么呢,难道是对象? ? ?
2、 ? ? ?郁闷! 我來回答回答(5)钟鹏辉 项h经理|1705个满意答案2010-09-03返回当前类实例相当于new 了评论(0)00“我心飛揚2010-09-03这个问题就奇怪了,比如你吃饭有时用勺子用时要用筷子一样。如果a是一个私有类,在b屮 要用到a的属性this就有用了,通过构造器评论(0)00£怜 a迩的爱属于莪2010-09-03x.increment(); 返回白身也就是说 x.increment()=x比如你要连续调用2次increment()一般的写法是x.increme nt();x.increme nt();但是因为方法返回口身的引用所以可以这样写x.inc
3、rement().increme nt();好好体会一下this的妙用追问:return this 的作丿ij仅仅是 x.increment(); x.increment();i'j'以写成 x.increment().increment();吗? ? ?那也太花哨了吧回答:如果你只认为它有这种作用那你就大错特错了虽然我也不知道怎么跟你讲但是既然return可以返回任何基本数据类型 和任何对象的引用,当然也可以返回它白身的引用纵观jdk,冇很多类的方法都会返回其自身的引用像 stringbuffer当然要不要返回口身看场合论实际血不是一定要用评论(0)10正在输入2010-09
4、-03 这个有点类似单列模式:单例模式就是某个类只存在一个对象(只new 次),当某个类 的初始化比较耗时,耗资源的时候,比如加载某些配置文件hibernate, spring的配置文件 等,一般会选择单例模式。一、懒汉式单例在类被加载的吋候,唯一实例已经被创建。这个设计模式在java中容易实现,在别的语言 中难以实现。/静态工厂方法,返回此类的唯一实例.*当发现实例没冇初始化的时候,才初始化.* return lazysingleton*/synchronized public static lazysingleton get i nstance()if(m_intance=null)m_i
5、ntance=new lazysingleton();return m_intance; * created by intellij idea.* user: leizhimin* date: 2007-9-11* time: 14:57:08* «java与模式>> 单例模式懒汉式单例*/public class lazysingleton *私有静态对象,加载时候不做初始化*/private static lazysingleton m_intance=null;*私有构造方法,避免外部创建实例*/private lazysingleton()二、饿汉式单例 在类加载
6、的时候不创建单例实例。只有在第一次请求实例的吋候的吋候创建,并i只在第一 次创建后,以后不再创建该类的实例。* created by intellij idea.* user: leizhimin * date: 2007-9-11 * time: 14:45:25 * «java与模式>> 单例模式饿汉式单例*/ public class eagersingleton *私有的(private)唯-(static final)实例成员,在类加载的时候就创建好了单例对象*/private static finml eagersingleton m_instance = n
7、ew eagersingleton();*私有构造方法,避免外部创建实例*/private eagersingleton() *静态工厂方法,返回此类的唯一实例.* return eagersingleton*/public static eagersingleton getlnstance() return mnstance;三、登记式单例 这个单例实际上维护的是一组单例类的实例,将这些实例存放在一个map (登记薄)中, 对于己经登记过的实例,则从工厂直接返回,对于没有登记的,则先登记,而后返回。* created by intellij idea.* user: leizhimin* d
8、ate: 2005-9-11* time: 15:20:16* «java与模式>> 单例模式背记式单例*/public class regsingleton /静态工厂方法,返回指定背记对象的唯一实例;*对于已登记的直接取出返回,对于还未登记的,先登记撚后取出返回* param name* return regsingleton*/public static regsingleton getlnstance(string name) if (name = null) name = ” regsi ngletort;if (m_registry.get(name) = n
9、ull) try m_registry.put(name, (regsingleton) class.forname(name).newlnstance(); catch (instantiationexception e) *登记薄,用来存放所有登记的实例*/private static map<string, regsingleton> m_registry = new hashmapo;在类加载的时候添加一个实例到登记薄static regsingleton x = new regsingleton(); m_registry.put(x.getclass().getname(), x);*受保护的默认构造方法*/protected regsingleton() e.printstacktrace(); catch (hlegalaccessexception e) e.printstacktrace(); catch (classnotfoundexception e) e.printstacktrace();return m_registry.get(name);* 一个示意性的商业方
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 贵州省铜仁一中2025届高三下学期2月调考仿真模拟数学试题
- 2024年南方石油勘探开发有限责任公司秋季高校毕业生招聘20人笔试参考题库附带答案详解
- 原始社会的教育与教师
- 电商课程走进校园
- 肝炎病人如何健康教育
- 二零二五商品房实测面积补充协议
- 离婚的财产分割协议书
- 护理大学生小讲课
- 文员劳务合同
- 七下试卷作文题目及答案
- 柯坦镇中心小学开展研学旅行活动实施方案
- 2024城市电缆线路岩土工程勘察规范
- 二年级下册语文-第五单元单元解读-人教版
- 2024-2025学年华东师大版数学七年级上册计算题专项训练
- 服务类验收单
- 声声慢三部合唱简谱
- 2022-2023学年陕西省宝鸡市渭滨区八年级(下)期中数学试卷(含解析)
- 2023-2024学年海南省天一大联考高三下学期第六次检测数学试卷含解析
- 全国初中数学青年教师优质课一等奖《平行线的性质》教学设计
- 危重患者识别和处理-课件
- 《科学生活方式》课件
评论
0/150
提交评论