クラス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引数をとるコンストラクタとして機能し、指定されたサイズの配列を作成します。
クラスに複数のコンストラクタがある場合、StaticClassのStandardOperation.NEWは、適用可能な最も具体的なコンストラクタの選択を試みます。 BeansLinker.getConstructorMethod(Class, String)を使用して明示的なシグネチャを持つコンストラクタを選択するために、あなたの言語でメカニズムを公開することができます。
- 導入されたバージョン:
- 9
- 関連項目:
-
メソッドのサマリー
クラスオブジェクトで宣言されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait修飾子と型メソッド説明protected Objectclone()このオブジェクトのコピーを作成して、返します。booleanこのオブジェクトと他のオブジェクトが等しいかどうかを示します。protected voidfinalize()削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。最終決定は非推奨であり、将来のリリースで削除される可能性があります。final Class<?> getClass()このObjectの実行時クラスを返します。inthashCode()このオブジェクトに対するハッシュ・コード値を返します。final voidnotify()このオブジェクトのモニターで待機中のスレッドを1つ再開します。final voidこのオブジェクトのモニターで待機中のすべてのスレッドを再開します。toString()オブジェクトの文字列表現を返します。final voidwait()現在のスレッドが目覚めるまで待機します。通常、notifiedまたはinterruptedです。final voidwait(long timeoutMillis) 現在のスレッドは、通常、notifiedまたはinterruptedであるか、一定のリアルタイムが経過するまで、目覚めるまで待機します。final voidwait(long timeoutMillis, int nanos) 現在のスレッドは、通常、notifiedまたはinterruptedであるか、一定のリアルタイムが経過するまで、目覚めるまで待機します。
-
メソッドの詳細
-
forClass
public static StaticClass forClass(Class<?> clazz) 指定されたクラスのStaticClassインスタンスを取得します。- パラメータ:
clazz- 静的ファセットがリクエストされるクラス。- 戻り値:
- 指定されたクラスを表す
StaticClassインスタンス。
-
getRepresentedClass
-