全パッケージ クラス階層 このパッケージ 前項目 次項目 インデックス
java.lang.Object | +----java.lang.Class
Class のインスタンスは、実行中の Java アプリケーションのクラスおよびインタフェースを表します。また、配列はすべて、同じ要素型および大きさの数を持つ配列によって共有される Class オブジェクトとして反映されるクラスに属します。また、プリミティブ Java 型 (boolean, byte, char, short, int, long, float, and double) およびキーワード void のいずれかも、Class オブジェクトとして表わされます。
 
 クラス Class には public 構築子はありません。Class オブジェクトは、呼出しによってクラスがクラスローダの defineClass メソッドにロードされる際に、Java 仮想マシンが自動構築します。
 
以下の例では、Class オブジェクトを使ってオブジェクトの Class 名を出力します:
     void printClassName(Object obj) {
         System.out.println("The class of " + obj +
                            " is " + obj.getClass().getName());
     }
 
 
 forName(String)
	forName(String)
  Class オブジェクトを返す。
   getClasses()
	getClasses()
   getClassLoader()
	getClassLoader()
   getComponentType()
	getComponentType()
   getConstructor(Class[])
	getConstructor(Class[])
   getConstructors()
	getConstructors()
   getDeclaredClasses()
	getDeclaredClasses()
   getDeclaredConstructor(Class[])
	getDeclaredConstructor(Class[])
   getDeclaredConstructors()
	getDeclaredConstructors()
   getDeclaredField(String)
	getDeclaredField(String)
   getDeclaredFields()
	getDeclaredFields()
   getDeclaredMethod(String, Class[])
	getDeclaredMethod(String, Class[])
   getDeclaredMethods()
	getDeclaredMethods()
   getDeclaringClass()
	getDeclaringClass()
   getField(String)
	getField(String)
   getFields()
	getFields()
   getInterfaces()
	getInterfaces()
   getMethod(String, Class[])
	getMethod(String, Class[])
   getMethods()
	getMethods()
   getModifiers()
	getModifiers()
   getName()
	getName()
   getResource(String)
	getResource(String)
   getResourceAsStream(String)
	getResourceAsStream(String)
   getSigners()
	getSigners()
   getSuperclass()
	getSuperclass()
  Object 以外の任意のクラスを表す場合、該当クラスのスーパークラスを表すオブジェクトが返される。
   isArray()
	isArray()
   isAssignableFrom(Class)
	isAssignableFrom(Class)
   isInstance(Object)
	isInstance(Object)
  instanceof 演算子と同じである。
   isInterface()
	isInterface()
   isPrimitive()
	isPrimitive()
   newInstance()
	newInstance()
   toString()
	toString()
   
 toString
toString
public String toString()
"class" または "interface" の後にスペースが続き、その後にクラスの完全な修飾名が続いて表示されます。この Class オブジェクトがプリミティブ型を表す場合は、プリミティブ型の名前を返します。
 forName
forName
public static native Class forName(String className) throws ClassNotFoundException
Class オブジェクトを返します。クラスまたはインタフェースのフルネームを示すと、このメソッドはクラスの検索、ロード、およびリンクを試行します。この処理を正常に実行できると、クラスを表す Class オブジェクトが返ります。失敗すると、メソッドは ClassNotFoundException をスローします。
 
 例えば、以下の記述は、 java.lang.Thread という名前のクラスの実行時 Class 記述子を返します: 
 
   Class t = Class.forName("java.lang.Thread")
 
Class 記述子
     newInstance
newInstance
public native Object newInstance() throws InstantiationException, IllegalAccessException
new 式と全く同じ方法で実行する。
     isInstance
isInstance
public native boolean isInstance(Object obj)
instanceof 演算子と同じです。指定の Object 引数が null でなく、ClassCastException を出さずにこの Class オブジェクトが表す参照型にキャストできる場合、メソッドは true を返します。それ以外の場合は、false を返します。
 特に、この Class オブジェクトが宣言クラスを表す場合は、指定の Object 引数が表示クラス (またはそのサブクラス) のインスタンスの場合は true を、そうでない場合は false を返します。この Class オブジェクトが配列クラスを表す場合、識別変換または参照変換を用いて指定の Object 引数を配列型のオブジェクトに変換できる場合は true、そうでない場合は false を返します。この Class オブジェクトがインタフェースを表す場合、指定の Object 引数のクラスまたはスーパークラスがこのインタフェースを実装する場合は true、そうでない場合は false を返します。この Class オブジェクトがプリミティブ型を表す場合は falseを返します。
 isAssignableFrom
isAssignableFrom
public native boolean isAssignableFrom(Class cls)
特にこのメソッドは、指定の Class パラメータが表示する型を、識別変換または拡張参照変換を使って、この Class オブジェクトが表す型に変換できるかどうかをテストします。詳細は、Java 言語仕様のセクション 5.1.1 と 5.1.4 を参照してください。
 isInterface
isInterface
public native boolean isInterface()
true ;
          そうでない場合は false 
   isArray
isArray
public native boolean isArray()
 isPrimitive
isPrimitive
public native boolean isPrimitive()
8 つの Java のプリミティブな型と void を表す、すでに定義された 9 つの Class オブジェクトがあります。これらは Java 仮想マシンが生成し、該当するプリミティブ型と同じ名前を持ちます。つまり、boolean, byte, char, short, int, long, float, double, および void です。
これらのオブジェクトには、以下の public static final 変数を使ってしかアクセスできません。また、このメソッドが true を返す Class オブジェクトは、これらの 9 つのオブジェクトに対してだけです。
 getName
getName
public native String getName()
 getClassLoader
getClassLoader
public native ClassLoader getClassLoader()
null
     getSuperclass
getSuperclass
public native Class getSuperclass()
Object 以外のクラスを表す場合、該当クラスのスーパークラスを表すオブジェクトを返します。 
 
 このオブジェクトが、クラス Object を表す場合、またはインタフェースを表す場合は、null を返します。
 getInterfaces
getInterfaces
public native Class[] getInterfaces()
 このオブジェクトがクラスを表す場合、返り値は、クラスが実装するすべてのインタフェースを表すオブジェクトを含む配列です。配列内のインタフェースオブジェクトの順序は、このオブジェクトが表すクラスを宣言する implements 節内のインタフェース名の順序に対応します。
 
 このオブジェクトがインタフェースを表す場合、インタフェースが拡張したすべてのインタフェースを表すオブジェクトが配列内に入ります。配列内のインタフェースオブジェクトの順序は、このオブジェクトが表すインタフェースを宣言する extends 節内のインタフェース名の順序に対応します。
 
クラスまたはインタフェースがインタフェースを実装しない場合、メソッドは長さが 0 の配列を返します。
 getComponentType
getComponentType
public native Class getComponentType()
 getModifiers
getModifiers
public native int getModifiers()
修飾子のコード化は、Java 仮想マシン仕様の表 4.1 で定義しています。
 getSigners
getSigners
public native Object[] getSigners()
 getDeclaringClass
getDeclaringClass
public Class getDeclaringClass()
 getClasses
getClasses
public Class[] getClasses()
 getFields
getFields
public Field[] getFields() throws SecurityException
特に、この Class オブジェクトがクラスを表す場合は、このクラスの public フィールドとそのスーパークラスをすべて返します。この Class オブジェクトがインタフェースを表す場合は、このインタフェースのフィールドとそのスーパーインタフェースをすべて返します。この Class オブジェクトが配列型やプリミティブ型を表す場合は、長さが 0 の配列を返します。
このメソッドは、配列型について明白な長さフィールドを反映しません。配列を操作するには、ユーザコードでクラス Array のメソッドを使う必要があります。
Java 言語仕様のセクション 8.2 と 8.3 を参照してください。
 getMethods
getMethods
public Method[] getMethods() throws SecurityException
Java 言語仕様のセクション 8.2 と 8.4 を参照してください。
 getConstructors
getConstructors
public Constructor[] getConstructors() throws SecurityException
 getField
getField
public Field getField(String name) throws NoSuchFieldException, SecurityException
反映フィールドは、この Class オブジェクトが表すクラスまたはインタフェースのすべてのメンバフィールドについて、指定名を持つ public フィールドを検索して見つけ出します。
Java 言語仕様のセクション 8.2 と 8.3 を参照してください。
 getMethod
getMethod
  public Method getMethod(String name,
                          Class parameterTypes[]) throws NoSuchMethodException, SecurityException
反映するメソッドは、この Class オブジェクトが表すクラスまたはインタフェースのすべてのメンバフィールドについて、指定名および全く同じ形式のパラメータ型を持つ public メソッドを検索して見つけ出します。
Java 言語仕様のセクション 8.2 と 8.3 を参照してください。
 getConstructor
getConstructor
public Constructor getConstructor(Class parameterTypes[]) throws NoSuchMethodException, SecurityException
反映する構築子は、この Class オブジェクトが表すクラスのすべての構築子について、全く同じ形式パラメータ型を持つ public 構築子を検索して見つけ出します。
 getDeclaredClasses
getDeclaredClasses
public Class[] getDeclaredClasses() throws SecurityException
 getDeclaredFields
getDeclaredFields
public Field[] getDeclaredFields() throws SecurityException
 getDeclaredMethods
getDeclaredMethods
public Method[] getDeclaredMethods() throws SecurityException
 getDeclaredConstructors
getDeclaredConstructors
public Constructor[] getDeclaredConstructors() throws SecurityException
 getDeclaredField
getDeclaredField
public Field getDeclaredField(String name) throws NoSuchFieldException, SecurityException
 getDeclaredMethod
getDeclaredMethod
  public Method getDeclaredMethod(String name,
                                  Class parameterTypes[]) throws NoSuchMethodException, SecurityException
 getDeclaredConstructor
getDeclaredConstructor
public Constructor getDeclaredConstructor(Class parameterTypes[]) throws NoSuchMethodException, SecurityException
 getResourceAsStream
getResourceAsStream
public InputStream getResourceAsStream(String name)
命名規則を適用したあとは、Class メソッドは ClassLoader メソッドに権限を渡します。「/」 で始まるリソース名は、そのまま使います。それ以外の場合は、「.」 から 「/」 に変換したあとで、パッケージの名前を付けます。
 getResource
getResource
public URL getResource(String name)
全パッケージ クラス階層 このパッケージ 前項目 次項目 インデックス