定義
PhantomReference是虛引用,該引用不會影響不會影響對象的生命周期,也無法從虛引用中獲取對象實例。
說明
源碼介紹部分其實也沒多大內容,主要內容都在前面介紹中說完了。PhantomReference類的源碼和WeakReference類一樣簡單:
public class PhantomReference<T> extends Reference<T> {
public T get() {
return null;
}
/**
* 這里傳入的引用隊列也可以為null,但是這樣的引用沒有任何意義,因為永遠不會入隊
*/
public PhantomReference(T referent, ReferenceQueue<? super T> q) {
super(referent, q);
}
}
可以看到,get方法直接返回null,有一個兩個參數的構造方法,傳入被引用的對象和引用隊列。
那么,這篇也先告一段落吧。