当前位置: 首页 > Thinking in Java > 正文

第10章– 内部类 _.this

/**
 * 
 * 内部类 中,返回外围类 引用的方法
 * 在内部类中,设置一个方法 比如 getOuter(),在这个方法中 返回外 围类名.this.
 *
 */
public class DotThis
{
  void f()
  {
    System.out.println("DotThis.f()");
  }

  /**
   * 从内部类的方法中,返回外部类的引用
   *
   */
  public class Inner
  {
    public DotThis outer()
    {
      return DotThis.this;
      //从内部类的方法中,返回外部类的引用,使用 外围类名字.this
    }
  }
  
  //外围类中,也也可以通过这种方式返回 本身的引用,
  //this类似一个静态 字段,但是 在这个方法前加static 却不行,说明this不是普通的static字段
  public DotThis getThis()
  {
    return DotThis.this; //
  }
  
  //直接返回this.这种方式只是做个说明,一般不用这样的,有点画蛇添足的感觉
  public  DotThis getThis2()
  {
    return this;
  }

  public Inner inner()
  {
    return new Inner();
  }

  public static void main(String[] args)
  {
    DotThis dt = new DotThis();
    dt.getThis().f(); //等效于dt.f();
    dt.getThis2().f();//等效于dt.f();
    DotThis.Inner dti = dt.inner();
    dti.outer().f();
  }
} 

 

赞 赏

   微信赞赏  支付宝赞赏


本文固定链接: https://www.jack-yin.com/coding/thinking-in-java/2366.html | 边城网事

该日志由 边城网事 于2013年07月11日发表在 Thinking in Java 分类下, 你可以发表评论,并在保留原文地址及作者的情况下引用到你的网站或博客。
原创文章转载请注明: 第10章– 内部类 _.this | 边城网事
关键字: ,

第10章– 内部类 _.this 暂无评论

发表评论

快捷键:Ctrl+Enter