溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

java.lang.Void類源碼解析

發(fā)布時(shí)間:2020-09-28 21:19:44 來源:腳本之家 閱讀:134 作者:葉長風(fēng) 欄目:編程語言

 在一次源碼查看ThreadGroup的時(shí)候,看到一段代碼,為以下:

/*
   * @throws NullPointerException if the parent argument is {@code null}
   * @throws SecurityException   if the current thread cannot create a
   *                thread in the specified thread group.
   */
  private static Void checkParentAccess(ThreadGroup parent) {
    parent.checkAccess();
    return null;
  }

            這個(gè)方法用于檢查parent訪問權(quán)限,然后直接返回null,方法的返回類型為Void原以為Void類為void類的包裝類,但是查看Void類的

源碼后發(fā)現(xiàn)并不是如此,Void類的源碼如下:

/**
 * The {@code Void} class is an uninstantiable placeholder class to hold a
 * reference to the {@code Class} object representing the Java keyword
 * void.
 *
 * @author unascribed
 * @since  JDK1.1
 */
public final
class Void {
  /**
   * The {@code Class} object representing the pseudo-type corresponding to
   * the keyword {@code void}.
   */
  @SuppressWarnings("unchecked")
  public static final Class<Void> TYPE = (Class<Void>) Class.getPrimitiveClass("void");
  /*
   * The Void class cannot be instantiated.
   */
  private Void() {}
}

在最上面的注釋中,描述的是

The {@code Void} class is an uninstantiable placeholder class to hold a
* reference to the {@code Class} object representing the Java keyword

這段話的意思就是Void類是一個(gè)不可實(shí)例化的占位符類,它持有對(duì)標(biāo)識(shí)Java關(guān)鍵字void的Class對(duì)象的引用。

并且本身的構(gòu)造函數(shù)為private,并且注明:

public final class Void {}

final表明這個(gè)類是不允許被其他類繼承的。

/*
 * The Void class cannot be instantiated.
 */

即該類是不可以實(shí)例化的。

Void類可能本身作用就只是不起任何作用,但是本身只是一個(gè)占位符類。即Void類本身只是一個(gè)占位符類,不能被實(shí)例化,多用于泛型中作占位符使用。

總結(jié)

以上就是本文關(guān)于java.lang.Void類源碼解析的全部內(nèi)容,希望對(duì)大家有所幫助。感興趣的朋友可以參閱:RateLimiter 源碼分析、基于ZooKeeper實(shí)現(xiàn)隊(duì)列源碼、Spring SpringMVC在啟動(dòng)完成后執(zhí)行方法源碼解析等,有什么問題可以隨時(shí)留言,小編會(huì)及時(shí)回復(fù)大家的。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI