网站大量收购独家精品文档,联系QQ:2885784924

java中的return this问题.doc

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
java中的return this问题

java中的return this问题 return this ;大家都知道,这是返回当前对象引用,我就很郁闷,这个有什么好返回的,返回给谁???假设返回给A,那A为什么不用前面创建对象的变量直接去访问,??? 补充:public ? class ? Leaf? {? ? ? ? int ? i ? = ? 0;? ? ? ? Leaf ? increment()? ? ? ? {? ? ? ? ? ? ? i++;? ? ? ? ? ? ? return ? this;? ? ? ? }? ? ? ? void ? print()? ? ? ? {? ? ? ? ? ? ? System.out.println( i ? = ? ? + ? i);? ? ? ? }? ? ? ? public ? static ? void ? main(String[] ? args)? ? ? ? {? ? ? ? ? ? ? Leaf ? x ? = ? new ? Leaf();? ? ? ? ? ? ? x.increment();? ? ? ? }? }? 输出结果是什么呢,难道是对象??????郁闷! 我来回答 回答 (5) 钟鹏辉??项目经理?|1705个满意答案?2010-09-03 返回当前类实例... 相当于new了 评论(0)00 レ我心飛揚??2010-09-03 这个问题就奇怪了,比如你吃饭有时用勺子用时要用筷子一样。如果A是一个私有类,在B中要用到A的属性this就有用了,通过构造器 评论(0)00 迩的爱属于莪??2010-09-03 ? x.increment();? 返回自身 也就是说 x.increment()==x ? 比如你要连续调用?2次increment() 一般的写法是 ?x.increment();? ?x.increment(); ? 但是因为方法返回自身的引用 所以可以这样写 ? x.increment().increment();??? ? 好好体会一下this的妙用 ? 追问: return this的作用仅仅是x.increment();? x.increment();可以写成x.increment().increment();吗???那也太花哨了吧??? 回答: 如果你只认为它有这种作用 那你就大错特错了 虽然我也不知道怎么跟你讲 但是既然return可以返回任何基本数据类型和任何对象的引用,当然也可以返回它自身的引用 ? 纵观JDK,有很多类的方法都会返回其自身的引用 像StringBuffer ? 当然要不要返回自身 看场合 论实际 而不是一定要用 评论(0)10 正在输入??2010-09-03 这个有点类似单列模式:单例模式就是某个类只存在一个对象(只new 一次),当某个类的初始化比较耗时,耗资源的时候,比如加载某些配置文件hibernate,spring的配置文件等,一般会选择单例模式。 一、懒汉式单例 在类被加载的时候,唯一实例已经被创建。这个设计模式在Java中容易实现,在别的语言中难以实现。 /** * 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(){ ???? } ???? /** ????? * 静态工厂方法,返回此类的唯一实例.?? ????? * 当发现实例没有初始化的时候,才初始化. ????? * @return LazySingleton ????? */ ???? synchronized public static LazySingleton getInstance(){ ???????? if(m_intance==null){ ???????????? m_intance=new LazySingleton(); ???????? } ???????? return m_intance; ???? } } 二、饿汉式单例 在类加载的时候不创建单例实例。只有在第一次请求实例的时候的时候创建,并且只在第一次创建后,以后不再创建该类的实例。 /** * Created by IntelliJ IDEA.

您可能关注的文档

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档