今天再看一個Android LunchList的tutorial
發(fā)現(xiàn)有兩種寫法:
都是在 LunchList 這個類里,不同的方法
new Intent(this, EditPreferences.class);
和
new Intent(LunchList.this, DetailForm.class);
LunchList.this和this有什么區(qū)別?
走同樣的路,發(fā)現(xiàn)不同的人生
如果你的程序里面包含了內(nèi)部匿名類之類,比如線程
class A { public void callSomething(){ new Thread(){ public void run(){ // 這里的this 代表 匿名類的上下文, A.this 代表A實例化后對象的上下文 } }.start(); } }
這應(yīng)該是在內(nèi)部類里面調(diào)用的吧
如果在內(nèi)部類里面的this就是這個內(nèi)部類的實例,而OuterClassName.this就是它外面的那個類的實例
看起來是Android編程吧,應(yīng)該是寫了一個listener的匿名類?
如果是的話,那么this就是指這個listener實例,而LunchList.this就是外面的類,可能是Activity吧
http://stackoverflow.com/questions/4080868/java-classname-this
微信掃碼
關(guān)注PHP中文網(wǎng)服務(wù)號
QQ掃碼
加入技術(shù)交流群
Copyright 2014-2025 http://ipnx.cn/ All Rights Reserved | php.cn | 湘ICP備2023035733號