W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
注釋一個(gè)類(lèi)以消除循環(huán)引用。
注釋內(nèi)部類(lèi)意味著刪除其對(duì)引用的外部對(duì)象的所有權(quán),從而使引用不包括在引用計(jì)數(shù)中。匿名內(nèi)部類(lèi)可以使用內(nèi)部方法進(jìn)行注釋。
此類(lèi)可以解決無(wú)法注釋外部類(lèi)實(shí)例的字段的問(wèn)題,因?yàn)楫?dāng) Java 內(nèi)部類(lèi)隱式捕獲該字段時(shí),沒(méi)有提供顯式聲明。如果內(nèi)部類(lèi)不能定義為靜態(tài)嵌套類(lèi),則必須使用外部類(lèi)實(shí)例,并且可以使用 UnownedOuter 注釋內(nèi)部類(lèi)以消除循環(huán)引用。
此類(lèi)的不正確使用可能導(dǎo)致與未擁有相同的結(jié)果,從而導(dǎo)致引用對(duì)象的早期釋放。
請(qǐng)參考以下示例代碼:
class Outer{
@UnownedOuter
private class Innert {
...;
}
Private Runnable r = new Runnable() {
@Override
@UnownedOuter
Public void run() {
...;
}
}
}
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: