| 
 | JavaTM Platform Standard Ed. 6 | |||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
java.lang.Objectjava.lang.reflect.AccessibleObject
java.lang.reflect.Method
public final class Method
Method は、クラスまたはインタフェース上の単一のメソッドに関する情報とそのアクセスを提供します。リフレクトされたメソッドは、クラスメソッドまたはインスタンスメソッド (抽象メソッドを含む) になります。
 
Method は、実パラメータを基になるメソッドの仮パラメータと一致させる場合に、拡張変換が発生することを許可しますが、縮小変換が発生する場合は IllegalArgumentException をスローします。
Member, 
Class, 
Class.getMethods(), 
Class.getMethod(String, Class[]), 
Class.getDeclaredMethods(), 
Class.getDeclaredMethod(String, Class[])| フィールドの概要 | 
|---|
| インタフェース java.lang.reflect.Member から継承されたフィールド | 
|---|
| DECLARED, PUBLIC | 
| メソッドの概要 | ||
|---|---|---|
|  boolean | equals(Object obj)Methodを指定されたオブジェクトと比較します。 | |
| 
 | getAnnotation(Class<T> annotationClass)指定された型の注釈が存在する場合は、指定された型の要素の注釈を返します。 | |
|  Annotation[] | getDeclaredAnnotations()この要素に直接存在するすべての注釈を返します。 | |
|  Class<?> | getDeclaringClass()この Methodオブジェクトによって表されるメソッドを宣言するクラスまたはインタフェースを表すClassオブジェクトを返します。 | |
|  Object | getDefaultValue()この Method インスタンスにより表される注釈メンバーのデフォルト値を返します。 | |
|  Class<?>[] | getExceptionTypes()この Methodオブジェクトで表される基になるメソッドによってスローされるように宣言されている、例外のタイプを表すClassオブジェクトの配列を返します。 | |
|  Type[] | getGenericExceptionTypes()この Method オブジェクトによってスローされるように宣言されている、例外を表す Type オブジェクトの配列を返します。 | |
|  Type[] | getGenericParameterTypes()Method オブジェクトによって表されるメソッドの仮パラメータ型を宣言順で表す Type オブジェクトの配列を返します。 | |
|  Type | getGenericReturnType()この Method オブジェクトによって表されるメソッドの仮の戻り値の型を表す Type オブジェクトを返します。 | |
|  int | getModifiers()Methodオブジェクトによって表されるメソッドの Java 言語修飾子を整数として返します。 | |
|  String | getName()この Methodオブジェクトが表すメソッドの名前をStringとして返します。 | |
|  Annotation[][] | getParameterAnnotations()この Method オブジェクトにより表されたメソッドの仮パラメータの注釈を表す配列の配列を、宣言順に返します。 | |
|  Class<?>[] | getParameterTypes()Methodオブジェクトによって表されるメソッドの仮パラメータ型を宣言順で表すClassオブジェクトの配列を返します。 | |
|  Class<?> | getReturnType()この Methodオブジェクトによって表されるメソッドの仮の戻り値の型を表すClassオブジェクトを返します。 | |
|  TypeVariable<Method>[] | getTypeParameters()GenericDeclaration オブジェクトによって表される総称宣言で宣言された型変数を表す TypeVariable オブジェクトの配列を宣言順に返します。 | |
|  int | hashCode()Methodのハッシュコードを返します。 | |
|  Object | invoke(Object obj,
       Object... args)この Methodオブジェクトによって表される基本となるメソッドを、指定したオブジェクトに対して指定したパラメータで呼び出します。 | |
|  boolean | isBridge()このメソッドが橋渡し役のメソッドである場合は true を返し、そうでない場合は false を返します。 | |
|  boolean | isSynthetic()このメソッドが合成メソッドである場合は true を返し、そうでない場合は false を返します。 | |
|  boolean | isVarArgs()このメソッドが可変数の引数を取るように宣言されていた場合は true を返し、そうでない場合は false を返します。 | |
|  String | toGenericString()型パラメータを含む、この Methodを記述する文字列を返します。 | |
|  String | toString()この Methodを記述する文字列を返します。 | |
| クラス java.lang.reflect.AccessibleObject から継承されたメソッド | 
|---|
| getAnnotations, isAccessible, isAnnotationPresent, setAccessible, setAccessible | 
| クラス java.lang.Object から継承されたメソッド | 
|---|
| clone, finalize, getClass, notify, notifyAll, wait, wait, wait | 
| メソッドの詳細 | 
|---|
public Class<?> getDeclaringClass()
Method オブジェクトによって表されるメソッドを宣言するクラスまたはインタフェースを表す Class オブジェクトを返します。
Member 内の getDeclaringClasspublic String getName()
Method オブジェクトが表すメソッドの名前を String として返します。
Member 内の getNamepublic int getModifiers()
Method オブジェクトによって表されるメソッドの Java 言語修飾子を整数として返します。修飾子の復号化には、Modifier クラスを使用する必要があります。
Member 内の getModifiersModifierpublic TypeVariable<Method>[] getTypeParameters()
GenericDeclaration 内の getTypeParametersGenericSignatureFormatError - この総称宣言の総称署名が『Java 仮想マシン仕様第 3 版』で規定される書式に適合しない場合public Class<?> getReturnType()
Method オブジェクトによって表されるメソッドの仮の戻り値の型を表す Class オブジェクトを返します。
public Type getGenericReturnType()
戻り値の型が、パラメータ化された型の場合、返された Type オブジェクトは、ソースコードで使用される実際の型パラメータを正確に反映しなければいけません。
戻り値の型が、型変数またはパラメータ化された型の場合、戻り値の型は作成されます。そうでない場合、例外タイプは解決されます。
GenericSignatureFormatError - この総称メソッドの署名が『Java 仮想マシン仕様第 3 版』で規定される書式に適合しない場合
TypeNotPresentException - 基本となるメソッドの戻り値の型が存在しない型宣言を参照する場合
MalformedParameterizedTypeException - 基本となるメソッドの戻り値の型が、なんらかの理由によりインスタンス化できないパラメータ化された型を参照する場合public Class<?>[] getParameterTypes()
Method オブジェクトによって表されるメソッドの仮パラメータ型を宣言順で表す Class オブジェクトの配列を返します。基になるメソッドにパラメータが設定されていない場合には、長さ 0 の配列が返されます。
public Type[] getGenericParameterTypes()
仮パラメータ型が、パラメータ化された型の場合、返される Type オブジェクトは、ソースコードで使用される実際の型パラメータを正確に反映しなければいけません。
仮パラメータ型が、型変数またはパラメータ化された型の場合、仮パラメータ型は作成されます。そうでない場合、例外タイプは解決されます。
GenericSignatureFormatError - この総称メソッドの署名が『Java 仮想マシン仕様第 3 版』で規定される書式に適合しない場合
TypeNotPresentException - 基本となるメソッドのパラメータ型のいずれかが、存在しない型宣言を参照する場合
MalformedParameterizedTypeException - 基本となるメソッドのパラメータ型のいずれかが、なんらかの理由によりインスタンス化できないパラメータ化された型を参照する場合public Class<?>[] getExceptionTypes()
Method オブジェクトで表される基になるメソッドによってスローされるように宣言されている、例外のタイプを表す Class オブジェクトの配列を返します。メソッドが throws 節で例外を宣言していない場合は、長さ 0 の配列を返します。
public Type[] getGenericExceptionTypes()
例外タイプが、パラメータ化された型の場合、返される Type オブジェクトは、ソースコードで使用される実際の型パラメータを正確に反映しなければいけません。
例外タイプが、型変数またはパラメータ化された型の場合、例外タイプは作成されます。そうでない場合、例外タイプは解決されます。
GenericSignatureFormatError - この総称メソッドの署名が『Java 仮想マシン仕様第 3 版』で規定される書式に適合しない場合
TypeNotPresentException - 基本となるメソッドの throws 節が存在しない型宣言を参照する場合
MalformedParameterizedTypeException - 基本となるメソッドの throws 節が、なんらかの理由によりインスタンス化できないパラメータ化された型を参照する場合public boolean equals(Object obj)
Method を指定されたオブジェクトと比較します。オブジェクトが同じ場合には true を返します。2 つの Methods は、同じクラスで宣言され、同じ名前、仮パラメータ型、および戻り値の型を保持する場合に同じになります。
Object 内の equalsobj - 比較対象の参照オブジェクト
true、そうでない場合は falseObject.hashCode(), 
Hashtablepublic int hashCode()
Method のハッシュコードを返します。これは、基本となるメソッドの宣言クラス名とそのメソッド名のハッシュコードの排他的論理和として計算されます。
Object 内の hashCodeObject.equals(java.lang.Object), 
Hashtablepublic String toString()
Method を記述する文字列を返します。この文字列の書式は、存在する場合はメソッドのアクセス修飾子、メソッドの戻り値型、空白、メソッドを宣言するクラス、ピリオド、メソッド名、括弧で囲まれたコンマ区切りのメソッドの仮パラメータ型リストが順番に続きます。メソッドがチェック済みの例外をスローする場合、パラメータリストには、空白、スローするワード、スローされる例外タイプのコンマ区切りのリストが順番に続きます。例を示します。
 
    public boolean java.lang.Object.equals(java.lang.Object)
 
 アクセス修飾子は、『Java 言語仕様』で規定された正規の順序で格納されます。つまり、最初に public、protected、または private、続いてそれ以外の修飾子が abstract、static、final、synchronized native の順序で置かれます。
Object 内の toStringpublic String toGenericString()
Method を記述する文字列を返します。この文字列の書式は、(存在する場合には) メソッドのアクセス修飾子、山括弧で囲まれたコンマ区切りのメソッドの型パラメータリスト、メソッドの総称戻り値型、空白、メソッドを宣言するクラス、ピリオド、メソッド名、括弧で囲まれたコンマ区切りのメソッドの総称仮パラメータ型のリストが順番に続きます。アクセス修飾子同士、およびアクセス修飾子と型パラメータや戻り値との区切りには空白文字が使用されます。型パラメータがない場合、型パラメータのリストは省略されます。 型パラメータのリストが存在する場合、リストとクラス名は空白文字で区切られます。メソッドが例外をスローするように宣言されている場合、パラメータのリストのあとに空白、「throws」という文字列、スローされる総称例外型のコンマ区切りのリストが順番に続きます。型パラメータがない場合、型パラメータのリストは省略されます。
 アクセス修飾子は、『Java 言語仕様』で規定された正規の順序で格納されます。つまり、最初に public、protected、または private、続いてそれ以外の修飾子が abstract、static、final、synchronized native の順序で置かれます。
Method を記述する文字列
public Object invoke(Object obj,
                     Object... args)
              throws IllegalAccessException,
                     IllegalArgumentException,
                     InvocationTargetException
Method オブジェクトによって表される基本となるメソッドを、指定したオブジェクトに対して指定したパラメータで呼び出します。個別のパラメータは、プリミティブ仮パラメータと一致させるために自動的にラップ解除され、プリミティブおよび参照パラメータは両方とも必要に応じてメソッド呼び出し変換の対象になります。
 基本となるメソッドが static の場合、指定された obj 引数は無視されます。null も指定できます。
 
基本となるメソッドによって要求される仮パラメータ数が 0 の場合、指定された args 配列は長さ 0 または null になります。
 
基本となるメソッドがインスタンスメソッドの場合、動的メソッドルックアップを使用して呼び出しが行われ、ターゲットオブジェクトの実行時の型に基づいてオーバーライドが実行されます (『Java 言語仕様、第 2 版』のセクション 15.12.4.4 を参照)。
基本となるメソッドが static の場合、メソッドを宣言したクラスがまだ初期化されていないときは、このクラスが初期化されます。
メソッドが正常に完了すると、メソッドの返す値が呼び出し側に返されます。 この値がプリミティブ型の場合、最初にオブジェクト内に適切な方法でラップされます。ただし、値がプリミティブ型の配列型を持つ場合、その配列の要素はオブジェクトにラップされません。 つまり、プリミティブ型の配列が返されます。基本となるメソッドの戻り値の型が void の場合、呼び出しは null を返します。
obj - 基本となるメソッドの呼び出し元のオブジェクトargs - メソッド呼び出しに使用される引数
args を使用して obj にディスパッチした結果
IllegalAccessException - この Method オブジェクトが Java 言語アクセス制御を実施し、基本となるメソッドにアクセスできない場合
IllegalArgumentException - メソッドがインスタンスメソッドであり、指定されたオブジェクト引数が基本となるメソッド (またはそのサブクラスか実装側) を宣言するクラスまたはインタフェースのインスタンスではない場合、実パラメータ数と仮パラメータ数が異なる場合、プリミティブ引数のラップ解除変換が失敗した場合、またはラップ解除後、メソッド呼び出し変換によってパラメータ値を対応する仮パラメータ型に変換できない場合
InvocationTargetException - 基本となるメソッドが例外をスローする場合
NullPointerException - 指定されたオブジェクトが null で、メソッドがインスタンスメソッドの場合
ExceptionInInitializerError - このメソッドによる初期化が失敗した場合public boolean isBridge()
public boolean isVarArgs()
public boolean isSynthetic()
Member 内の isSyntheticpublic <T extends Annotation> T getAnnotation(Class<T> annotationClass)
AnnotatedElement の記述:
AnnotatedElement 内の getAnnotationAccessibleObject 内の getAnnotationannotationClass - 注釈型に対応する Class オブジェクト
NullPointerException - 指定された注釈クラスが null の場合public Annotation[] getDeclaredAnnotations()
AnnotatedElement の記述:
AnnotatedElement 内の getDeclaredAnnotationsAccessibleObject 内の getDeclaredAnnotationspublic Object getDefaultValue()
TypeNotPresentException - 注釈が Class 型の場合で、デフォルトのクラス値の定義が見つからない場合public Annotation[][] getParameterAnnotations()
| 
 | JavaTM Platform Standard Ed. 6 | |||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
Copyright 2009 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。