Class.this 和 this 的有什么不同
转载:http://www.cnblogs.com/liwei45212/archive/2013/04/17/3026364.html
在阅读Java代码的時候
我们时会看到Class.this的使用
这个用法多用于在 nested class(内部类)中
当inner class(内部类)必顺使用到outer class(外部类)的this instance(实例)时
例:
class Outer{
String data = "外部类別";
public class Inner{
String data = "內部类別";
public String getOuterData(){
return Outer.this.data;
}
}
}
如果你的程序里面包含了内部匿名类之类,比如线程
class A {
public void callSomething(){
new Thread(){
public void run(){
// 这里的this 代表 匿名类的上下文, A.this 代表A实例化后对象的上下文
}
}.start();
}
}
随机推荐
- 【Java】CSVUtils
package com.msk.ds.logic; import java.io.*; import java.util.List; /** * Created by Administrator on ...
- 洛谷 P1560 蜗牛的旅行
明显这是一道搜索题,其他题解写的有点复杂,我有更简便的写法 既然题目说走到不能再走,那我们就干脆一点,一条路走到黑,不到南墙不回头,一下把要走的路都走完,不但效率高,也好写,关键是大大节省了系统栈 一 ...
- hive 排序和聚集
1.order by 是对数据进行全排序,属于标准排序语句 order by 会对输入做全局排序,因此只有一个reducer(多个reducer无法保证全局有序)只有一个reducer,会导致当输入规 ...
- CF 566A Matching Names
CF 566A Matching Names 题目描述 给出n个名字和n个昵称,求一个名字和昵称的劈配方案,使得被劈配的名字和昵称的最长公共前缀长度的和最大. 1<=n<=100000 字 ...
- Zabbix3.4.5部署安装(二)
一.部署环境 一)系统环境: [root@Node3 ~]# cat /etc/redhat-release //查看系统版本 CentOS Linux release (Core) [root@No ...
- scala(二)
一.映射 1.Scala映射就是键值对的集合Map.默认情况下,Scala中使用不可变的映射. 如果想使用可变集合Map,必须导入scala.collection.mutable.Map (导包 ...
- Kubernetes - Deploy Containers Using YAML
In this scenario, you'll learn how to use Kubectl to create and launch Deployments, Replication Cont ...
- Ubuntu+NDK编译支持HTTPS的libcurl
参考文章:1.NDK环境配置 http://blog.csdn.net/smfwuxiao/article/details/65877092.libcurl的配置修改 http://piggyq.co ...
- 为VSCODE添加右键菜单
参考:https://blog.csdn.net/GreekMrzzJ/article/details/82194913 1.创建一个名为vscode.reg的空文本文件,填入下列内容 Windows ...
- vim 常用快捷键(整理版)
最常用: x 删除后面的字符 X 删除前一个字符 删除3个字符就是3x dd:删除一行 D 删除到行尾 J:删除换行符,使下一行并上来. nJ:连接后面的n行 u:撤销上一次操作 ...