この記事では、主に java.lang.Void クラスのソース コード解析の関連内容を紹介し、ソース コードの一部の内容について説明します。必要な方はさらに学習することができます。
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; }
このメソッドは、親のアクセス許可をチェックするために使用され、戻り値の型は直接 null を返します。メソッドの
のソースコードを調べてみると、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<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 クラスは、インスタンス化不可能なプレースホルダー クラスであり、 Java キーワード void を識別する Class オブジェクトへの参照。
そして、それ自体のコンストラクターはプライベートであり、次のようにマークされています:
public final class Void {}
final は、このクラスが他のクラスによって継承できないことを示します。
/* * The Void class cannot be instantiated. */
つまり、このクラスはインスタンス化できません。
Void クラスには機能がない可能性がありますが、単なるプレースホルダー クラスです。つまり、Void クラス自体は単なるプレースホルダー クラスであり、インスタンス化することはできません。主にジェネリックのプレースホルダーとして使用されます。
概要
以上がjava.lang.Voidクラスのソースコードの詳細な紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。