Maison > Java > javaDidacticiel > Introduction détaillée du code source de la classe java.lang.Void

Introduction détaillée du code source de la classe java.lang.Void

黄舟
Libérer: 2017-10-11 10:01:09
original
1494 Les gens l'ont consulté

Cet article présente principalement le contenu pertinent de l'analyse du code source de la classe java.lang.Void et explique certains contenus du code source. Il a une certaine valeur de référence. Les amis qui en ont besoin peuvent en savoir plus.

Lors de la visualisation du code source de ThreadGroup, j'ai vu un morceau de code qui est le suivant :


/*
   * @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;
  }
Copier après la connexion

Cette méthode est utilisé pour vérifier l'autorisation d'accès des parents, puis renvoie directement null. Le type de retour de la méthode est Void. Au départ, je pensais que la classe Void était une classe wrapper pour la classe void, mais après avoir vérifié

<🎜. > code source de la classe Void, j'ai trouvé que ce n'est pas le cas Le code source de la classe Void est le suivant :



/**
 * 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() {}
}
Copier après la connexion
Dans. le commentaire du haut, il décrit



The {@code Void} class is an uninstantiable placeholder class to hold a
* reference to the {@code Class} object representing the Java keyword
Copier après la connexion
La signification de ce passage est que la classe Void est une classe d'espace réservé non instanciable qui contient une référence au Objet de classe qui identifie le mot-clé Java void.


Et son propre constructeur est privé, et marqué :



public final class Void {}
Copier après la connexion
final indique que cette classe n'est pas autorisée à être Hérité des autres classes.


/*
 * The Void class cannot be instantiated.
 */
Copier après la connexion
Autrement dit, cette classe ne peut pas être instanciée.

La classe Void n'a peut-être aucun effet en elle-même, mais ce n'est qu'une classe d'espace réservé. Autrement dit, la classe Void elle-même n'est qu'une classe d'espace réservé et ne peut pas être instanciée. Elle est principalement utilisée comme espace réservé dans les génériques.

Résumé

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal