java.lang.Void 클래스 소스 분석

2247 단어
소스 코드에서 ThreadGroup을 볼 때 다음 코드 세그먼트가 표시됩니다.

/*
   * @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;
  }

이 방법은parent 접근 권한을 검사한 다음null로 되돌아옵니다. 방법의 되돌아오는 형식은 Void입니다. 원래 Void 클래스가void 클래스인 줄 알았던 포장 클래스이지만, Void 클래스를 보십시오.
소스가 아닌 경우 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 TYPE = (Class) 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 클래스는 실례화할 수 없는 자리 차지 문자 클래스로 자바 키워드void를 표시하는 Class 대상에 대한 인용을 가지고 있다는 것이다.
또한 자체 구조 함수는 private이며 다음과 같습니다.

public final class Void {}

final은 이 종류가 다른 종류에 의해 계승되는 것을 허락하지 않는다는 것을 나타낸다.

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

즉 이 종류는 실례화할 수 없다.
Void 클래스는 그 자체의 작용이 아무런 작용도 하지 않을 수 있지만, 그 자체는 단지 자리 차지 문자 클래스일 뿐이다.즉, Void 클래스 자체는 하나의 자리 차지 문자 클래스일 뿐 실례화할 수 없으며 범형에서 자리 차지 문자로 많이 사용된다.
총결산
이상은java에 관한 본문입니다.lang.Void 클래스 소스 해석의 모든 내용에 도움이 되었으면 합니다.관심 있는 분들은 Rate Limiter 원본 분석, Zoo Keeper 기반 대기열 원본 실현, Spring Spring MVC가 시작된 후 실행하는 방법 원본 분석 등을 참고하시기 바랍니다. 문제가 있으면 언제든지 댓글을 남기고 편집자는 제때에 답장을 드리겠습니다.

좋은 웹페이지 즐겨찾기