クラスStaticClass

java.lang.Object
jdk.dynalink.beans.StaticClass
すべての実装されたインタフェース:
Serializable

public final class StaticClass extends Object implements Serializable
(静的メソッド、プロパティおよびフィールド)クラスの静的メンバーへのアクセス、およびStandardOperation.NEW操作を使用したインスタンスの構成を許可するオブジェクト。 Dynalinkでは、Classオブジェクトは特別に扱われず、通常のJavaオブジェクトとして動作します。たとえば、GET:PROPERTY:superclassをプロパティ・ゲッターとして使用して、clazz.getSuperclass()を呼び出すことができます。 一方、Classオブジェクトを使用してクラスの静的メンバーにアクセスしたり、NEWを使用してクラスの新しいインスタンスを作成することはできません。 これは、ClassオブジェクトがJavaでどのように動作するかと一貫しています: Javaでは、new BitSet.class()のかわりにnew BitSet()などを記述します。 同様に、System.class.outではなくSystem.outを記述します。 この側面は、クラス名をコンストラクタとして使用し、StaticClassが具体化する静的メンバーのネームスペースを使用することです。

このクラスのオブジェクトは、BeansLinkerによって特別なものとして認識され、それらのオブジェクトに対する操作は、表現されたクラスの静的メンバーに対してリンクされます。 "class"合成プロパティは、さらに認識され、Java System.classがSystemクラスのClassオブジェクトと評価した場合と同様に、Java Classオブジェクトを返します。 逆に、BeansLinkerを介して公開されるClassオブジェクトは、StaticClassオブジェクト(Javaにこれと同等のものはありません)を返す"static"合成プロパティを公開します。

要約すると、このクラスのインスタンスは静的メンバーのネームスペースとして機能し、クラスのコンストラクタとしても、Java言語でクラス名を指定するのとほぼ同じように機能します。ただし、Javaではこれは単なる構文要素ですが、Dynalinkでは実際のオブジェクトとして表現されます。

Java配列型を表すStaticClassオブジェクトは、単一のint引数をとるコンストラクタとして機能し、指定されたサイズの配列を作成します。

クラスに複数のコンストラクタがある場合、StaticClassStandardOperation.NEWは、適用可能な最も具体的なコンストラクタの選択を試みます。 BeansLinker.getConstructorMethod(Class, String)を使用して明示的なシグネチャを持つコンストラクタを選択するために、あなたの言語でメカニズムを公開することができます。

導入されたバージョン:
9
関連項目:
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    forClass(Class<?> clazz)
    指定されたクラスのStaticClassインスタンスを取得します。
    表されたJavaクラスを返します。

    クラスオブジェクトで宣言されたメソッド

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    修飾子と型
    メソッド
    説明
    protected Object
    このオブジェクトのコピーを作成して、返します。
    boolean
    このオブジェクトと他のオブジェクトが等しいかどうかを示します。
    protected void
    削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。
    最終決定は非推奨であり、将来のリリースで削除される可能性があります。
    final Class<?>
    このObjectの実行時クラスを返します。
    int
    このオブジェクトに対するハッシュ・コード値を返します。
    final void
    このオブジェクトのモニターで待機中のスレッドを1つ再開します。
    final void
    このオブジェクトのモニターで待機中のすべてのスレッドを再開します。
    オブジェクトの文字列表現を返します。
    final void
    現在のスレッドが目覚めるまで待機します。通常、notifiedまたはinterruptedです。
    final void
    wait(long timeoutMillis)
    現在のスレッドは、通常、notifiedまたはinterruptedであるか、一定のリアルタイムが経過するまで、目覚めるまで待機します。
    final void
    wait(long timeoutMillis, int nanos)
    現在のスレッドは、通常、notifiedまたはinterruptedであるか、一定のリアルタイムが経過するまで、目覚めるまで待機します。
  • メソッドの詳細

    • forClass

      public static StaticClass forClass(Class<?> clazz)
      指定されたクラスのStaticClassインスタンスを取得します。
      パラメータ:
      clazz - 静的ファセットがリクエストされるクラス。
      戻り値:
      指定されたクラスを表すStaticClassインスタンス。
    • getRepresentedClass

      public Class<?> getRepresentedClass()
      表されたJavaクラスを返します。
      戻り値:
      表されるJavaクラス。