全パッケージ クラス階層 このパッケージ 前項目 次項目 インデックス
java.lang.Object | +----java.lang.reflect. Method
Method は呼び出される実際のパラメータを基となるメソッドの正式なパラメータに合わせるときに、拡大変換を行うことを許可します。しかし、縮小変換が起きた場合には、メソッドは IllegalArgumentException をスローします
 
 equals(Object)
	equals(Object)
   getDeclaringClass()
	getDeclaringClass()
   getExceptionTypes()
	getExceptionTypes()
   getModifiers()
	getModifiers()
   getName()
	getName()
   getParameterTypes()
	getParameterTypes()
   getReturnType()
	getReturnType()
   hashCode()
	hashCode()
   invoke(Object, Object[])
	invoke(Object, Object[])
   toString()
	toString()
   
 getDeclaringClass
getDeclaringClass
public Class getDeclaringClass()
 getName
getName
public String getName()
 getModifiers
getModifiers
public native int getModifiers()
 getReturnType
getReturnType
public Class getReturnType()
 getParameterTypes
getParameterTypes
public Class[] getParameterTypes()
 getExceptionTypes
getExceptionTypes
public Class[] getExceptionTypes()
 equals
equals
public boolean equals(Object obj)
 hashCode
hashCode
public int hashCode()
 toString
toString
public String toString()
例 :
    public boolean java.lang.Object.equals(java.lang.Object)
 
 アクセス修飾子は、Java Language Specification (Java 言語仕様) で指定された標準的な順に置かれます。つまり、初めに public、protected または private が置かれ、 続いて abstract、static、final、synchronized native が置かれます。
 invoke
invoke
 public native Object invoke(Object obj,
                             Object args[]) throws IllegalAccessException, IllegalArgumentException, InvocationTargetException
メソッド呼び出しは次に示す順に進みます。
基となるメソッドが static の場合は、指定されるオブジェクトの引数は無視されます。これは null の可能性があります。
static でない場合は、メソッドはインスタンスメソッドです。指定するオブジェクト引数が null の場合は、呼び出しは NullPointerException をスローします。null 以外では、指定するオブジェクト引数が基となるメソッドを宣言するクラスまたはインタフェースでない場合は、呼び出しは IllegalArgumentException をスローします。
この Method オブジェクトにより Java 言語のアクセス制御が行われ基となるメソッドがアクセスできない場合ば、呼び出しは IllegalAccessException をスローします。
引数が出す実パラメータの数が基となるメソッドが必要とする正式なパラメータの数と違う場合は、 呼び出しは IllegalArgumentException をスローします。
出される引数配列内の実パラメータに対し :
対応する正式なパラメータがプリミティブな型の場合は、オブジェクトの値をプリミティブな型の値に変換するためラップ解除変換が試行されます。この試行が失敗する場合は、呼び出しは IllegalArgumentException をスローします。
ラップが解除された後、パラメータ値が識別情報または拡大変換により対応する正式なパラメータ型に変換できない場合は、呼び出しは IllegalArgumentException をスローします。
基となるメソッドがインスタンスメソッドの場合は、Java Language Specification のセクション 15.11.4.4 に記されているように dynamic メソッド lookup を使用して呼び出されます。この際、特に、ターゲットオブジェクトの実行時の型にもとづいたオーバーライドが起きます。
基となるメソッドが static の場合、宣言しているクラス上のメソッドとまったく同じように呼び出されます。
制御は基となるメソッドに移ります。メソッドが例外をスローして突然終了する場合は、その例外は InvocationTargetException に置かれ、invoke の呼び出し側に順にスローされます。
メソッドが正常に終了する場合は、メソッドが返す値は invoke の呼び出し側に返されます。値がプリミティブな型の場合は、値は初めにオブジェクト内に適切にラップされます。基となるメソッド返り値の型が void の場合は、 呼び出しは null を返します。
全パッケージ クラス階層 このパッケージ 前項目 次項目 インデックス