その名前で見えるメソッド宣言の有効範囲(6.3)内に現れるならば,そのメソッドがメンバである取囲み型宣言でなければならない。命名されたものとする。クラスではなくインタフェースの名前ならば,コンパイル時エラーが発生する。メソッドを持たないからである。よって命名されたフィールドの宣言された型とする。あり,及び検索されるクラスは,その宣言がそのメソッド呼出しを含むクラスの上位クラスとする。メソッド呼出しを直接的に含む型宣言だと仮定すると,次のような状況のいずれかが発生する場合に,コンパイル時エラーになる。インタフェースである。現在のクラスの字句的に取り囲むクラスでないならば,コンパイル時エラーが発生する。あるなら,コンパイル時エラーが発生する。次のような状況のいずれかであるならば,コンパイル時エラーが発生する。インタフェースである。メソッドシグネチャの決定2番目の段階は,メソッド呼出しのために前の段階において決定されたクラス又はインタフェースを検索する。メソッド宣言,すなわち,その与えられた実引数で正しく呼び出されることができる宣言を配置するために,そのメソッドの名前及び実引数式の型を使用する。ものが選択される場合は,そのようなメソッド宣言が複数存在してよい。特殊なメソッド宣言の記述子(シグネチャと返却値の型)は,実行時にメソッドディスパッチを行うために使用される。メソッド宣言の中の仮引数の数が,そのメソッド呼出しの中の実引数式の数に等しい。それぞれの実引数の型は,メソッド呼出し変換(5.3)によって対応する仮引数の型に変換可能とする。縮小されないということを除いて,代入変換(5.2)と同じとする。15.12.1で示された過程により決定されたクラス又はインタフェースが,このメソッド呼出しに適用可能なすべてのメソッド宣言について検索される。上位クラス及び上位インタフェースから継承したメソッド定義は,この検索に含まれる。)及びメソッド呼出しの現れる場所に依存する。クラス又はインタフェースが適用可能及び参照可能なメソッド宣言を持たないならば,コンパイル時エラーが発生する。命名された二つの参照可能なメソッドがあるが,2番目だけが適用可能であり,したがってそれが実行時に呼び出される。