注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

薛沛然 廊坊师范学院 九期信息技术提高班

无脑地生活,像白痴一样成长,不给自己留感伤的时间。。。

 
 
 

日志

 
 

java学习 this  

2014-06-26 23:59:00|  分类: 默认分类 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

看了马士兵的视频,以为自己已经学会了this,上网查了查资料,发现自己差的好远。

1this不能用在静态方法中

因为this默认的对象引用,静态方法被调用时,this所引用的对象并没有产生,this无所指向.

2this是指当前对象自己。

public class Hello {
  String s = "
你好";   
  public A(String s) {
    System.out.println( s);
    System.out.println("this" + this.s);
  }

  public static void main(String[] args) {
    new Hello("
你好吗");
  }
}

结果是

你好吗

你好

分析:

在这个例子中,构造函数A中,参数s与构造参数参数s同名,这时如果直接对s进行操作则是对构造参数s进行操作。若要对类A的变量s进行操作就应该用this进行引用。

3传递this

public class Hello1 {
  public Hello1() {
    new Hello2(this).print();
  }

  public void print() {
    System.out.println("A!");
  }
}

public class Hello2 {
  Hello1 a;
  public Hello2(Hello1 a) {
    this.a = a;
  }

  public void print() {
    a.print();
    System.out.println("B!");
  }
}

结果是

A

B

分析

此程序中将this作为参数传给了A ,因此打印出A.

 


  评论这张
 
阅读(104)| 评论(10)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017