JavaTM 2
Platform
Std. Ed. v1.4.0

java.lang.reflect
クラス Method

java.lang.Object
  |
  +--java.lang.reflect.AccessibleObject
        |
        +--java.lang.reflect.Method
すべての実装インタフェース:
Member

public final class Method
extends AccessibleObject
implements Member

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 を指定されたオブジェクトと比較します。
 Class getDeclaringClass()
          この Method オブジェクトによって表されるメソッドを宣言するクラスまたはインタフェースを表す Class オブジェクトを返します。
 Class[] getExceptionTypes()
          この Method オブジェクトで表される基になるメソッドによってスローされるように宣言されている、例外の型を表す Class オブジェクトの配列を返します。
 int getModifiers()
          Method オブジェクトによって表されるメソッドの Java 言語修飾子を整数として返します。
 String getName()
          この Method オブジェクトが表すメソッドの名前を String として返します。
 Class[] getParameterTypes()
          Method オブジェクトによって表されるメソッドの仮パラメータ型を宣言順で表す Class オブジェクトの配列を返します。
 Class getReturnType()
          この Method オブジェクトによって表されるメソッドの仮の戻り値の型を表す Class オブジェクトを返します。
 int hashCode()
          Method のハッシュコードを返します。
 Object invoke(Object obj, Object[] args)
          この Method オブジェクトによって表される基本となるメソッドを、指定したオブジェクトに対して指定したパラメータで呼び出します。
 String toString()
          この Method を記述する文字列を返します。
 
クラス java.lang.reflect.AccessibleObject から継承したメソッド
isAccessible, setAccessible, setAccessible
 
クラス java.lang.Object から継承したメソッド
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

メソッドの詳細

getDeclaringClass

public Class getDeclaringClass()
この Method オブジェクトによって表されるメソッドを宣言するクラスまたはインタフェースを表す Class オブジェクトを返します。

定義:
インタフェース Member 内の getDeclaringClass
戻り値:
基本となるメンバーの宣言クラスを表すオブジェクト

getName

public String getName()
この Method オブジェクトが表すメソッドの名前を String として返します。

定義:
インタフェース Member 内の getName
戻り値:
基本となるメンバの単純名

getModifiers

public int getModifiers()
Method オブジェクトによって表されるメソッドの Java 言語修飾子を整数として返します。修飾子の復号化には、Modifier クラスを使用する必要があります。

定義:
インタフェース Member 内の getModifiers
戻り値:
基本となるメンバーの Java 言語修飾子
関連項目:
Modifier

getReturnType

public Class getReturnType()
この Method オブジェクトによって表されるメソッドの仮の戻り値の型を表す Class オブジェクトを返します。

戻り値:
このオブジェクトが表すメソッドの戻り値の型

getParameterTypes

public Class[] getParameterTypes()
Method オブジェクトによって表されるメソッドの仮パラメータ型を宣言順で表す Class オブジェクトの配列を返します。基になるメソッドにパラメータが設定されていない場合には、長さ 0 の配列が返されます。

戻り値:
このオブジェクトが表すメソッドのパラメータ型

getExceptionTypes

public Class[] getExceptionTypes()
この Method オブジェクトで表される基になるメソッドによってスローされるように宣言されている、例外の型を表す Class オブジェクトの配列を返します。メソッドが throws 節で例外を宣言していない場合は、長さ 0 の配列を返します。

戻り値:
宣言される例外タイプ。このオブジェクトが表すメソッドによりスローされる

equals

public boolean equals(Object obj)
Method を指定されたオブジェクトと比較します。オブジェクトが同じ場合には true を返します。2 つの Methods は、同じクラスで宣言され、同じ名前、仮パラメータ型、および戻り値の型を保持する場合に同じになります。

オーバーライド:
クラス Object 内の equals
パラメータ:
obj - 比較対象の参照オブジェクト
戻り値:
obj 引数に指定されたオブジェクトとこのオブジェクトが等しい場合は true、そうでない場合は false
関連項目:
Object.hashCode(), Hashtable

hashCode

public int hashCode()
Method のハッシュコードを返します。これは、基本となるメソッドの宣言クラス名とそのメソッド名のハッシュコードの排他的論理和として計算されます。

オーバーライド:
クラス Object 内の hashCode
戻り値:
このオブジェクトのハッシュコード値
関連項目:
Object.equals(java.lang.Object), Hashtable

toString

public String toString()
この Method を記述する文字列を返します。この文字列の書式は、存在する場合はメソッドのアクセス修飾子、メソッドの戻り値型、空白、メソッドを宣言するクラス、ピリオド、メソッド名、括弧で囲まれたコンマ区切りのメソッドの仮パラメータ型リストが順番に続きます。メソッドがチェック済みの例外をスローする場合、パラメータリストには、空白、スローするワード、スローされる例外タイプのコンマ区切りのリストが順番に続きます。次に例を示します。
    public boolean java.lang.Object.equals(java.lang.Object)
 

アクセス修飾子は、Java 言語仕様で規定された標準的な順序で格納されます。つまり、最初に publicprotected、または private、続いてそれ以外の修飾子が abstractstaticfinalsynchronized native の順序で置かれます。

オーバーライド:
クラス Object 内の toString
戻り値:
このオブジェクトの文字列表現

invoke

public Object invoke(Object obj,
                     Object[] args)
              throws IllegalAccessException,
                     IllegalArgumentException,
                     InvocationTargetException
この Method オブジェクトによって表される基本となるメソッドを、指定したオブジェクトに対して指定したパラメータで呼び出します。個別のパラメータは、プリミティブ仮パラメータと一致させるために自動的にラップ解除され、プリミティブおよび参照パラメータは両方とも必要に応じてメソッド呼び出し変換の対象になります。

基本となるメソッドが static の場合、指定された obj 引数は無視されます。この引数が null の場合もあります。

基本となるメソッドによって要求される仮パラメータ数が 0 の場合、指定された args 配列は長さ 0 または null になります。

基本となるメソッドがインスタンスメソッドの場合、動的メソッドルックアップを使用して呼び出しが行われ、ターゲットオブジェクトの実行時の型に基づいてオーバーライドが実行されます (「The Java Language Specification, Second Edition」のセクション 15.12.4.4 を参照)。

基本となるメソッドが static の場合、メソッドを宣言したクラスがまだ初期化されていないときは、このクラスが初期化されます。

メソッドが正常に完了すると、メソッドによる値が呼び出し側に返されます。この値がプリミティブ型の場合、最初にオブジェクト内に適切な方法でラップされます。基本となるメソッドの戻り値の型が void の場合、呼び出しは null を返します。

パラメータ:
obj - 基本となるメソッドの呼び出し元のオブジェクト
args - メソッド呼び出しに使用される引数
戻り値:
このオブジェクトが表すメソッドを、パラメータ args を使用して obj にディスパッチした結果
例外:
IllegalAccessException - この Method オブジェクトが Java 言語アクセス制御を実施し、基本となるメソッドにアクセスできない場合
IllegalArgumentException - メソッドがインスタンスメソッドであり、指定されたオブジェクト引数が基本となるメソッド (またはそのサブクラスか実装側) を宣言するクラスまたはインタフェースのインスタンスではない場合、実パラメータ数と仮パラメータ数が異なる場合、プリミティブ引数のラップ解除変換が失敗した場合、またはラップ解除後、メソッド呼び出し変換によってパラメータ値を対応する仮パラメータ型に変換できない場合
InvocationTargetException - 基本となるメソッドが例外をスローする場合
NullPointerException - 指定されたオブジェクトが null で、メソッドがインスタンスメソッドの場合
ExceptionInInitializerError - このメソッドによる初期化が失敗した場合

JavaTM 2
Platform
Std. Ed. v1.4.0

バグの報告と機能のリクエスト
これ以外の API リファレンスおよび開発者用ドキュメントについては、 Java 2 SDK SE 開発者用ドキュメントを参照してください。 開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、 およびコード実例が含まれています。

Java、Java 2D、および JDBC は米国ならびにその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.