ないならば,そのメソッド呼出しの式の型はコンパイル時宣言で規定される返却値の型とする。実行時に,メソッド呼出しは五つの段階を必要とする。2番目に,その引数式が評価される。3番目に,呼び出されるメソッドのアクセス可能性が検査される。4番目に,メソッドが実行される実際のコードを探す。5番目に,新しい活性化フレームが作成され,必要なら同期処理が実行され,制御がメソッドコードに移される。(15.12)の四つの生成規則のどれに関係するのかによって,幾つかの考えられる事例が存在する。最初の生成規則が適用するならば,さらに次の三つの事例がある。あるならば,さらに次の二つの事例がある。あるならば,ターゲットへの参照はない。整数であると仮定する。番目の字句的に取り囲むインスタンス(8.1.2)とする。番目の字句的に取り囲むインスタンス(8.1.2)が存在しなければ,コンパイル時エラーが発生する。形式の限定名であるならば,ターゲットへの参照はない。形式の限定名であるならば,さらに次の二つの事例がある。あるならば,ターゲットへの参照はない。2番目の生成規則が適用されれば,さらに次の二つの事例がある。あるならば,ターゲットへの参照はない。評価されるが,その結果は捨てられる。評価され,及びその結果はターゲットへの参照として使用される。式の評価が中途完了するならば,その実引数式はまったく評価されずに,同様の理由でそのメソッド呼出しは中途完了する。ClassName.thisの値とする。実引数は,左から右に順に評価される。どれかの実引数式の評価が中途完了するならば,その右にある実引数の評価は行われず,同じ理由でそのメソッド呼出しも中途完了する。コンパイル時に定義されるそのメソッドの名前(15.12.3)だと仮定する。中にまだ存在することを,リンクの一部として,保証しなければならない。下位クラスである)が発生する。その実装はターゲットの参照型がその規定されたインタフェースを既に実装しているかについても検査しなければならない。アクセス可能であることも保証しなければならない。対しては,次の通りとする。