Java 類名.class與類名.this 的區別?


“類名.this”的語法在Java語言中叫做“qualified this”。相關規定在這里: Chapter 15. Expressions - Qualified this
這個語法的主要用途是:在內部類的方法中,要指定某個嵌套層次的外圍類的“this”引用時,使用“外圍類名.this”語法。例如說:
class Foo { class Bar { Foo getFoo() { return Foo.this; } } } 

在Foo.Bar類中的getFoo()方法中,如果直接寫“this”的話所指的是這個Foo.Bar類的實例,而如果要指定外圍的Foo類的this實例的話,這里就得寫成Foo.this。
特別的,如果在上例的getFoo()方法中寫Bar.this的話,作用就跟直接寫this一樣,指定的是當前的Foo.Bar類實例。



作者:RednaxelaFX
鏈接:https://www.zhihu.com/question/55565290/answer/145355951
來源:知乎
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM