转载:http://www.cnblogs.com/liwei45212/archive/2013/04/17/3026364.html

在阅读Java代码的時候

我们时会看到Class.this的使用

这个用法多用于在 nested class(内部类)中

当inner class(内部类)必顺使用到outer class(外部类)的this instance(实例)时

例:

  1. class Outer{
  2.  
  3. String data = "外部类別";
  4.  
  5. public class Inner{
  6.  
  7. String data = "內部类別";
  8.  
  9. public String getOuterData(){
  10.  
  11. return Outer.this.data;
  12.  
  13. }
  14.  
  15. }
  16.  
  17. }

如果你的程序里面包含了内部匿名类之类,比如线程

  1. class A {
  2.  
  3. public void callSomething(){
  4.  
  5. new Thread(){
  6.  
  7. public void run(){
  8.  
  9. // 这里的this 代表 匿名类的上下文, A.this 代表A实例化后对象的上下文
  10.  
  11. }
  12.  
  13. }.start();
  14.  
  15. }
  16.  
  17. }

随机推荐

  1. bzoj4184shallot

    题意 给出一个初始为空的数字集合,每次添加一个数字/删除一个存在的数字,然后输出选出一些数进行异或能够得到的最大数值.操作次数<=500000,数字大小<2^31 分析 看上去我们只要写一 ...

  2. 【JavaScript】JAVA-input如何占满整个td

    如果使用下面这种方式,不会出现占满效果 <tr> <td colspan="2"> <input width="90%" alig ...

  3. 在虚拟机上安装linux系统

    1.安装linux服务器,内存4G,默认典型,next安装程序光盘影像文件,next选版本 2.6.x内核64位,next选择虚拟机位置(至少10G),next最大磁盘20G,选择单文件,next自定 ...

  4. IntelJ 快捷键

    1.在IntelJ中和Eclipse中稍有不同,在Eclipse中,输入main再按Alt+/即可自动补全main函数,但是在IntellJ中则是输入psvm,选中即可 2.在方法体内部有for循环, ...

  5. bzoj4753: [Jsoi2016]最佳团体(分数规划+树形依赖背包)

    菜菜推荐的“水题”虐了我一天T T...(菜菜好强强qwq~ 显然是个分数规划题,二分答案算出p[i]-mid*s[i]之后在树上跑依赖背包,选k个最大值如果>0说明还有更优解. 第一次接触树形 ...

  6. 解题:POI 2009 TAB

    题面 这也算是个套路题(算吗)?发现换来换去每行每列数的组成是不变的,那么就把每行每列拎出来哈希一下,复杂度$O(Tn^2log$ $n)$有点卡时=.=. 然而正解似乎不需要哈希,就像这样↓ ;i& ...

  7. 洛谷 P1486 BZOJ 1503 NOI 2004 郁闷的出纳员 fhq treap

    思路: 1. 此处的fhq treap的分裂是按照权值分裂然后插入的.将小于k的分为一棵子树,大于等于k的分为另一棵子树. 2. 删除的时候只要将大于等于min的分裂到以root为根的树中,另一部分不 ...

  8. python基础---- __getattribute__----__str__,__repr__,__format__----__doc__----__module__和__class__

    目录: 一. __getattribute__ 二.__str__,__repr__,__format__ 三.__doc__ 四.__module__和__class__ 一. __getattri ...

  9. js通过生成临时表单再删除的方式向后台提交数据(模拟ajax的post提交但还要跳转页面不返回数据)以及 struts向前台返回文件下载及防止中文乱码处理

    为了避免发送数据中有特殊字符,发送时用 encodeURIComponent 编码 (其实这个 if中是直接通过浏览器下载文件的方法,else是向后台传数据的方法) struts后台Action处理接 ...

  10. linux的进程1:rootfs与linuxrc

    在内核启动的最后阶段启动了三个进程 进程0:进程0其实就是刚才讲过的idle进程,叫空闲进程,也就是死循环.进程1:kernel_init函数就是进程1,这个进程被称为init进程.进程2:kthre ...