目次 | 前項目 | 次項目 Java コアリフレクション


クラス java.lang.reflect.Method

    package java.lang.reflect;

    public final class Method extends Object implements Member

Method は、クラスまたはインタフェースの 1 つのメソッドに関する情報およびそこへのアクセスを提供します。反射されるメソッドは、 abstract メソッド、クラス (static) メソッド、またはインスタンスメソッドのどれでも構いません。

Method オブジェクトを生成できるのは、Java 仮想マシンだけです。ユーザコードは、クラス Class のメソッド getMethod, getMethods, getDeclaredMethod, および getDeclaredMethods から Method 参照を獲得します。

Method では、invoke への実効パラメータを基本メソッドの形式パラメータと突合わせるときに拡張変換が可能ですが、縮小変換が行われると IllegalArgumentException をスローします。


メソッド

getDeclaringClass

    public Class getDeclaringClass()

この Method オブジェクトが表すメソッドを宣言する、クラスまたはインタフェースの Class オブジェクトを返します。

getName

    public String getName()

この Method オブジェクトが表すメソッドの単純名を返します。

getModifiers

    public int getModifiers()

この Method オブジェクトが表すメソッドの Java 言語修飾子を整数型にコード化して返します。修飾子の解読には、Modifier クラスを使います。

修飾子のコード化は、Java 仮想マシン仕様の表 4.4 で定義されています。

getReturnType

    public Class getReturnType()

この Method オブジェクトが表すメソッドの、形式返却値の型を表す Class オブジェクトを返します。

getParameterTypes

    public Class[] getParameterTypes()

この Method オブジェクトが表すメソッドの形式パラメータ型を表す Class オブジェクトの配列を、宣言順に返します。基本メソッドがパラメータを取らない場合は、長さが 0 の配列を返します。

getExceptionTypes

    public Class[] getExceptionTypes()

この Method オブジェクトが表す基本メソッドがスローした、確認済み例外の型を表す Class オブジェクトの配列を返します。基本メソッドが確認済み例外をスローしない場合は、長さが 0 の配列を返します。

equals

    public boolean equals(Object obj)

この Method と指定オブジェクトを比較します。オブジェクトが同じ場合は true を、異なる場合は false を返します。2 つの Method オブジェクトの宣言クラス、名前、および形式パラメータ型が同じ場合、この 2 つは同じです。

このメソッドは、クラス Objectequals メソッドをオーバーライドします。

hashCode

    public int hashCode()

この Method のハッシュコードを返します。ハッシュコードは、Method の宣言クラス名およびその単純名のハッシュコードの排他論理和として計算されます。

このメソッドは、クラス ObjecthashCode メソッドをオーバーライドします。

toString

    public String toString()

この Method オブジェクトが表す基本メソッドを記述する文字列を返します。文字列は基本メソッドの Java 言語修飾子としてフォーマットされ、もしあればその後に、メソッド返却値の型または void の完全修飾名、スペース、メソッドを宣言するクラスの完全修飾名、ピリオド、単純メソッド名、基本メソッドの形式パラメータ型の完全修飾名をコンマで区切ったリストの挿入句が続きます。基本メソッドが確認済み例外をスローする場合、パラメータリストのあとにスペース、単語 throws、スローする例外型の完全修飾名をコンマで区切ったリストが続きます。以下に例を示します:

    

        public boolean java.lang.Object.equals(java.lang.Object)

        public final java.lang.String java.lang.Thread.getName()

メソッド修飾子は、Java 言語仕様に指定の、標準順序で置かれます。つまり、最初に public, protected または private がきて、その後に以下の順でその他の修飾子が入ります: abstract, static, final, synchronized, および native

このメソッドは、クラス ObjecttoString メソッドをオーバーライドします。

invoke

    public Object invoke(Object obj, Object[] args)

        throws NullPointerException, IllegalArgumentException,

            IllegalAccessException, InvocationTargetException

指定オブジェクト上のこの Method オブジェクトが表す基本メソッドを、指定パラメータを使って呼び出します。個々のパラメータは、プリミティブ形式パラメータに一致するように自動的にアンラップされ、プリミティブおよび参照の両パラメータは必要に応じて拡張変換に従います。基本メソッドが返す値がプリミティブ型を持つ場合、これは自動的にオブジェクトにラップされます。

メソッド呼び出しの手順は以下のとおりです:

 



目次 | 前項目 | 次項目
Copyright (C) 1996, 1997 Sun Microsystems, Inc. All rights reserved.