|
nanoJBlend | |||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
java.lang.Objectjava.lang.Class<T>
public final class Class<T>
Class クラスは、nano VMが認識することの可能な、任意のクラスまたはインタフェースを表します。
Class インスタンスは以下の3つのカテゴリに分類できます:
Class インスタンスが存在するClass インスタンスを共有するvoid を含む、任意のデータ基本型は、それぞれがユニークな Class インスタンスを持つ。
| メソッドの概要 | |
|---|---|
boolean |
equals(Object obj)
指定されたオブジェクトとこのオブジェクトを比較します。 |
static Class<?> |
forName(String clsname)
指定された名称のクラスを表す Class オブジェクトを返します。 |
String |
getName()
この Class オブジェクトが表す実体の名称を表す String を返します。 |
InputStream |
getResourceAsStream(String string)
指定された名称のリソースを読み込む InputStream を返します。 |
Class<? super T> |
getSuperclass()
この Class オブジェクトが表すクラスのスーパークラスを表す Class オブジェクトを返します。 |
boolean |
isArray()
このオブジェクトが配列クラスを表すかどうかを判定します。 |
boolean |
isAssignableFrom(Class<?> incls)
この Class オブジェクトが表すクラスまたはインタフェースが、指定された Class オブジェクトが表すクラスまたはインタフェースと同じであるかまたはそれらのスーパークラスまたはスーパーインタフェースであるかを判定します。 |
boolean |
isInstance(Object inobj)
指定された Object が、このクラスオブジェクトが表すオブジェクトと代入互換であるかどうかを判定します。 |
boolean |
isInterface()
この Class オブジェクトがインタフェースを表すかどうかを返します。 |
T |
newInstance()
このオブジェクトが表すクラスのインスタンスを生成します。 |
String |
toString()
この Class オブジェクトの文字列表現を返します。 |
| クラス java.lang.Object から継承されたメソッド |
|---|
getClass, hashCode, notify, notifyAll, wait, wait |
| メソッドの詳細 |
|---|
public String getName()
Class オブジェクトが表す実体の名称を表す String を返します。
もしこの Class オブジェクトが配列以外の参照型を表す場合、そのクラスのバイナリ名が返されます。
もしこの Class オブジェクトが基本データ型または void を表す場合、このメソッドは基本データ型または voidに対応するキーワードを表す String を返します。
もしこの Class オブジェクトが配列型を表す場合、配列の次元数に等しい数の '[' に続けて配列の要素のタイプを表す文字列からなる表現形式の文字列を返します。
要素のタイプは以下のようにエンコードします:
| 要素のタイプ | 表現形式 |
|---|---|
boolean | Z |
byte | B |
char | C |
| クラスまたはインタフェース | L{クラス・インタフェース名}; |
int | I |
long | J |
short | S |
表中の{クラス・インタフェース名}はクラスまたはインタフェースのバイナリー名です。
例:
"abc".getClass().getName()は"java.lang.String"を返します。(new Object[3]).getClass().getName()は"[Ljava.lang.Object;"を返します。(new int[3][4][5]).getClass().getName()は"[[[I"を返します。
public String toString()
Class オブジェクトの文字列表現を返します。
この Class オブジェクトが表す実体の型名 "class" または "interface" に続けて、空白1文字、および getName() が表す文字列が連結された文字列が返ります。
Object 内の toStringClass オブジェクトの文字列表現
public T newInstance()
throws InstantiationException,
IllegalAccessException
InstantiationException - デフォルトコンストラクタが無い場合、配列やインターフェースまたはabstract クラスの場合。
IllegalAccessException - デフォルトコンストラクタにアクセスできない場合。
(※ このクラスの実装は、 private 時のみアクセス不可と判断します。)public boolean equals(Object obj)
Object 内の equalsobj - 比較するオブジェクト
obj が 同じクラスを示す Class インスタンスであれば true 。public InputStream getResourceAsStream(String string)
InputStream を返します。
string - リソースの名称
InputStreampublic boolean isArray()
true 、それ以外は falsepublic boolean isAssignableFrom(Class<?> incls)
Class オブジェクトが表すクラスまたはインタフェースが、指定された Class オブジェクトが表すクラスまたはインタフェースと同じであるかまたはそれらのスーパークラスまたはスーパーインタフェースであるかを判定します。
この Class オブジェクトが基本データ型を表す場合、指定された Class オブジェクトが同じ基本データ型を表す場合にだけこのメソッドは true を返します。
incls - 比較する Class オブジェクト
incls の型のオブジェクトをこの Class が表す型のオブジェクトに割り当てることができる場合 true 、そうでない場合 false
NullPointerException - incls が null の場合public boolean isInstance(Object inobj)
Object が、このクラスオブジェクトが表すオブジェクトと代入互換であるかどうかを判定します。
このメソッドは inobj が null ではなく、かつ ClassCastException を発生させることなくこの Class オブジェクトが表すクラスの参照型にキャストできる場合 true を、そうでない場合 false を返します。
Class オブジェクトが宣言されたクラスを表す場合、 inobj がそのクラスまたはそのサブクラスのインスタンスである場合このメソッドは true を、そうでない場合 false を返します。Class オブジェクトが配列クラスを表す場合、恒等変換または拡張参照変換を用いて inobj がその配列クラスのオブジェクトに変換できる場合このメソッドは true を、そうでない場合 false を返します。Class オブジェクトがインタフェースを表す場合、 inobj のクラスまたはスーパークラスがそのインタフェースを実装している場合このメソッドは true を、そうでない場合 false を返します。Class オブジェクトが基本データ型を表す場合、このメソッドは false を返します。
inobj - チェック対象のオブジェクト
inobj がこの Class オブジェクトが表すクラスのインスタンスの場合 true 、そうでない場合 falsepublic boolean isInterface()
Class オブジェクトがインタフェースを表すかどうかを返します。
true 、そうでない場合 false
public static Class<?> forName(String clsname)
throws ClassNotFoundException
Class オブジェクトを返します。
このメソッドはロマイズされたクラスのみ取得できます。
ロマイザはスタートアップクラス(およびいくつかの必須クラス)から(直接または間接的に)参照されないクラスはロマイズしません。
そのため、このメソッドで取得する予定のクラスは、ロマイザに -keep オプションを指定して,確実にロマイズされるようにする必要があります。
例えば jp.co.aplix.avm パッケージのすべてのクラスをロマイズする場合、
-keep "jp/co/aplix/avm/*" のように指定します。
clsname - クラス名(完全修飾名)
clsname のクラスを表す Class オブジェクト
ClassNotFoundException - clsname に相当するクラスが存在しない場合public Class<? super T> getSuperclass()
Class オブジェクトが表すクラスのスーパークラスを表す Class オブジェクトを返します。
この Class オブジェクトが、 Object クラス、インタフェース、基本データ型または void 型を表している場合、このメソッドは null を返します。
この Class オブジェクトが配列クラスを表す場合、このメソッドは Object クラスを表す Class オブジェクトを返します。
Class オブジェクトが表すクラスのスーパークラスを表す Class オブジェクト
|
nanoJBlend | |||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||