クラス java.lang.Class
全パッケージ クラス階層 このパッケージ 前項目 次項目 インデックス
クラス java.lang.Class
java.lang.Object
|
+----java.lang.Class
- public final class Class
- extends Object
Classオブジェクトはクラスの実行時表現を持っている。
システム内のすべてのオブジェクトは何らかのクラスのインスタンスであり、
それぞれのクラスに対し、そのクラスを記述している Class オブジェクト(クラス記述子)
が存在する。クラス記述子は、実行時は変更不可能である。
次の例はオブジェクトのクラス名を表示するために Class オブジェクトを使用している:
void printClassName(Object obj) {
System.out.println("The class of " + obj +
" is " + obj.getClass().getName());
}
-
forName(String)
- 指定されたクラスのクラス記述子を返す。
-
getClassLoader()
- クラスのクラスローダを返す。
-
getInterfaces()
- インタフェースのクラス記述子を返す。
-
getName()
- クラスの名前を返す。
-
getSuperclass()
- スーパークラスのクラス記述子を返す。
-
isInterface()
- クラスがインタフェースかどうかを boolean で返す。
-
newInstance()
- クラスの新しいインスタンスを作成する。
-
toString()
- クラスもしくはインタフェースの名前を返す。
forName
public static Class forName(String className) throws ClassNotFoundException
- 指定されたクラスのクラス記述子を返す。
例えば、次のコードは java.lang.Thread という名前のクラスのクラス記述子を返す。
Class t = Class.forName("java.lang.Thread")
- パラメータ:
- className - クラス記述子が欲しいクラスの完全修飾名
- 例外: ClassNotFoundException
- クラスが見付からなかった。
newInstance
public Object newInstance() throws InstantiationException, IllegalAccessException
- クラスの新しいインスタンスを作成する。
- 返り値:
- 新しいインスタンス
- 例外: InstantiationException
- 抽象クラスかインタフェースをインスタンス化しようとしたか、何らかの理由でインスタンス化に失敗した。
- 例外: IllegalAccessException
- クラスもしくは初期化子がアクセス不可能。
getName
public String getName()
- クラスの名前を返す。
getSuperclass
public Class getSuperclass()
- スーパークラスのクラス記述子を返す。
getInterfaces
public Class[] getInterfaces()
- インタフェースのクラス記述子を返す。
インタフェースを持たないときは長さ0の配列を返す。
getClassLoader
public ClassLoader getClassLoader()
- クラスのクラスローダを返す。
クラスローダを持たない場合は null を返す。
- 参照:
- ClassLoader
isInterface
public boolean isInterface()
- クラスがインタフェースかどうかを boolean で返す。
toString
public String toString()
- クラスもしくはインタフェースの名前を返す。
クラスの場合は "class "、インタフェースの場合は "interface " が先頭に付加される。
- オーバーライド:
- クラス Object の toString
全パッケージ クラス階層 このパッケージ 前項目 次項目 インデックス
本マニュアルに関する著作権および商標