メソッドを呼び出したのと同じベクトルオブジェクトとするならば,その検査では大きさと値の比較を省略できる。比較して,この検査を実装する。thisは,コンストラクタ本体(8.8.5)の先頭に現れる明示的なコンストラクタ呼出しの文で使用されることもある。限定することで,どの字句的に取り囲むインスタンスも参照することができる。指示されると仮定する。整数であると仮定する。番目に字句的に取り囲むインスタンスとする。自身でないならば,コンパイル時エラーが発生する。括弧で括った式は,型が内包された式の型であり及び実行時の値が内包された式の値である一次式とする。内包された式が変数を指示するならば,括弧で括った式もその変数を指示する。式の値に対する数値集合(4.2.3)の選択に決して影響しない。クラスインスタンス生成式クラスインスタンス生成式は,クラスのインスタンスである新しいオブジェクトを生成するために使用される。Expressionクラスインスタンス生成式は,次の二つの形式をもつ。メンバクラス(8.5,9.5),局所クラス(14.3)又は匿名クラス(15.9.5)かどうかにかかわらず,クラスのインスタンスを生成するために使用してよい。限定クラスインスタンス生成式は,内部メンバクラス及びそれらの匿名下位クラスのインスタンスの生成を可能にする。非限定及び限定クラスインスタンス生成式は,オプションでクラス本体で終了してもよい。(15.9.5)を宣言し,そのインスタンスを生成する。クラスのインスタンス化は,インスタンス化するクラス,新たに作成したインスタンスの取囲みインスタンス(存在するならば),新しいインスタンスを生成するために呼び出さねばならないコンストラクタ,及びそのコンストラクタに渡さねばならない実引数の決定を含む。インスタンス化されるクラスの決定もしクラスインスタンス生成式がクラス本体で終了するならば,インスタンス化されたクラスは匿名クラスとする。したがって,次のように決定される。よって命名されたクラス又はインタフェースがアクセス不可能(6.6)ならば,コンパイル時エラーが発生する。よって命名されたクラスの匿名の直接的下位クラスが宣言される。クラスであるならば,コンパイル時エラーが発生する。匿名の直接的下位クラスが宣言される。なければ,クラスインスタンス生成式は,限定クラスインスタンス生成式とする。名前であると仮定する。内部クラス(8.1.2)の単純名ではない場合,コンパイル時エラーが発生する。あいまい(8.5)であるならば,コンパイル時エラーが発生する。よって命名されたクラスの匿名の直接的下位クラスが宣言される。インスタンス化されたクラスは,匿名下位クラスとする。ないクラスを命名しなければならない。なければ,コンパイル時エラーが発生する。なければ,クラスインスタンス生成式は限定クラスインスタンス生成式とする。内部クラス(8.1.2)Tの単純名(6.2)でないならば,コンパイル時エラーが発生する。あいまい(8.5)ならば,この場合もまたコンパイル時エラーが発生する。クラスインスタンス生成式の型は,インスタンス化されるクラス型とする。生成されたインスタンスであると仮定する。直接的に取り囲むインスタンスを持ってよい。直接的に取り囲むインスタンス(8.1.2)は,次のように決定される。匿名クラスならば,次のように決定される。直接的に取り囲むインスタンスを持たない。中で宣言されたメソッドの中で宣言されねばならない。整数であると仮定する。整数であると仮定する。直接的に取り囲むインスタンスを持たない。なければ,もしそのクラスインスタンス生成式が静的文脈の中に現れるならば,コンパイル時エラーが発生する。番目の字句的に取り囲むインスタンスとする。内部メンバクラス(8.5)とする。そのクラスインスタンス生成式が非限定クラスインスタンス生成式であるならば,もしそのクラスインスタンス生成式が静的文脈の中に現れるならば,コンパイル時エラーが発生する。整数であると仮定する。番目の字句的に取り囲むインスタンスとする。なければ,コンパイル時エラーが発生する。なければ,そのクラスインスタンス生成式は限定クラスインスタンス生成式とする。式の値であるオブジェクトとする。関しては直接的に取り囲むインスタンスを持ってよい。中で宣言されるメソッドの中で宣言しなければならない。整数であると仮定する。関しては直接的に取り囲むインスタンスを持たない。なければ,もしそのクラスインスタンス生成式が静的文脈の中で現れるならば,コンパイル時エラーが発生する。番目の字句的に取り囲むインスタンスとする。内部メンバクラス(8.5)とする。クラスインスタンス生成式が,非限定クラスインスタンス生成式ならば,もし,そのクラスインスタンス生成式が静的文脈の中に出現するならば,コンパイル時エラーが発生する。整数であると仮定する。番目の字句的に取り囲むインスタンスとする。なければ,コンパイル時エラーが発生する。なければ,そのクラスインスタンス生成式は,限定クラスインスタンス生成式とする。式の値のオブジェクトとする。インスタンス化されたクラス型と仮定する。コンストラクタはコンパイル時に次の規則によって選択される。最初に,コンストラクタ呼出しの実際の実引数が決定される。静的文脈の中で現れるならば,実引数リストの中の引数がもし存在すれば,その式に現れる順序でコンストラクタへの引数とする。直接的に取り囲むインスタンスは,コンストラクタへの最初の実引数であり,その後にそのクラスインスタンス生成式の実引数リストがもし存在すれば,その式の中に現れる順序で実引数が現れる。なければ,その実引数リストの引数がもし存在すれば,それがその式の中に現れる順序で,そのコンストラクタの実引数とする。コンストラクタを選択するために使用される。メソッド呼び出し中に,もし適用可能及びアクセス可能な一意な最も固有のコンストラクタが存在しないならば,コンパイル時メソッド照合エラーが発生する。呼び出されたコンストラクタが匿名コンストラクタの場合,そのクラスインスタンス生成式の型は匿名クラス型でよいことに注意すること。実行時には,クラスインスタンス生成式の評価は次のようになる。最初に,もしクラスインスタンス生成式が限定クラスインスタンス生成式であるならば,その限定する基本式が評価される。投げられ,及びそのクラスインスタンス生成式は中途完了する。その限定する式が中途完了するならば,そのクラスインスタンス生成式は同じ理由で中途完了する。次に,新しいクラスインスタンスのためにスペースが割り当てられる。(15.9.6)を投げて,中途完了する。その新しいオブジェクトは,その規定されたクラス型とそのすべての上位クラスで宣言されるすべてのフィールドの新しいインスタンスを含む。新しいフィールドインスタンスが生成されるときは,そのデフォルト値(4.5.5)に初期化される。次に,そのコンストラクタに対する実引数が,左から右に評価される。実引数評価のいずれかが中途完了するならば,その右側の実引数式は評価されず,及びクラスインスタンス生成式も同じ理由で中途完了する。次に,その規定されたクラス型の選択されたコンストラクタが呼び出される。これは,そのクラス型の各上位クラスに対して少なくとも一つのコンストラクタを呼び出す。この過程は明示的なコンストラクタ呼出し文(8.6)によって指示でき,及び12.5で詳細に示す。クラスインスタンス生成式の値は,その規定されたクラスの新しく作り出されたオブジェクトへの参照とする。式が評価される毎に,新しいオブジェクトが生成される。匿名クラス宣言は,コンパイラによって,クラスインスタンス生成式から自動的に導き出される。(8.1.1.1)では決してない。8.5.2)では決してない。(8.1.1.2)とする。匿名コンストラクタ匿名クラスは,明示的に宣言されたコンストラクタをもつことはできない。用意しなければならない。匿名コンストラクタの形式は,次に従う。宣言されたクラスインスタンス生成式のそれぞれの実引数に対して一つの仮引数をもつ。決定するために使用される。実引数と同一でなければならない。コンストラクタの本体は,super(...)の形式の明示的なコンストラクタ呼出し(8.8.5.1)から成り,その実引数はコンストラクタの実引数であり,それが宣言された順序とする。直接的に取り囲むインスタンスの値を表す。宣言を直接的に含むクラス型とする。そのコンストラクタは,匿名クラスを宣言するクラスインスタンス生成式のそれぞれの実引数に対して追加の実引数をもつ。n-1番目の実引数に対応する。決定するために使用される。対応する実引数と同じでなければならない。そのコンストラクタの本体は,o.super(...)の形式の明示的なコンストラクタ呼出し(8.8.5.1)から成り,及びその実引数はコンストラクタの後に続く実引数であり,それが宣言された順序とする。すべての場合で,匿名コンストラクタのthrows節は,匿名コンストラクタの中に含まれる明示的な上位クラスコンストラクタ呼出し文によって投げられるすべての検査例外及びその匿名クラスのどのインスタンス初期化子又はインスタンス変数初期化子によって投げられるすべての検査例外を列挙しなければならない。上位クラスコンストラクタのシグネチャに現れる場合)を参照できることに注意すること。これは,それ自身は,コンパイル時又は実行時のどちらかでエラーを起こさない。この検査は実引数式を評価する前に行う。(oldid==id));}}}次のように表示する。評価される前に,メモリ不足条件が検出されたからである。これを,次元式(15.10.3)を評価した後にメモリ不足状態が検出された場合に対する配列生成式(15.10)の処理と比較すること。配列インスタンス生成式は,新しい配列(10.)を生成するために使用される。よって規定された型である新しい配列であるオブジェクトを生成する。クラス型(8.1.1.1)又はインタフェース型(9.)さえも含む,どのような名前付き参照型を指定してもよい。式及び配列初期化子が削除されたその生成式の複写によって指示されうる配列型とする。double[3][3][]次の通りとする。中のそれぞれの次元式の型は整数型でなければならず,そうでなければコンパイル時エラーが発生する。それぞれの式は,単項数値昇格(5.6.1)を受ける。なければならず,そうでなければコンパイル時エラーが発生する。あってはならないことを意味する。配列初期化子が用意されているならば,10.6で示すように,新しく割り当てられた配列は配列初期化子によって用意された値で初期化される。実行時に,配列生成式の評価は次のように実行される。次元式がないならば,配列初期化子が存在しなければならない。その配列初期化子の値は,配列生成式の値とする。なければ,次のように評価される。最初に次元式が左から右に評価される。式の評価が中途完了するならば,その右の式は評価されない。次に次元式の値が検査される。次にスペースが新しい配列に割り当てられる。投げて,配列生成式の評価は中途完了する。現れるならば,一次元配列がその規定された長さで生成されて,及び配列の各構成要素はそのデフォルト値(4.5.5)に初期化される。N-1の入れ子のループの組を実行する。float[3][3];動作においては次に等しい。Age[6][10][8][12][];は次に等しい。局所的に宣言されていない名前に置換される。480の配列を生成する。オブジェクトへの参照)を含む配列とする。これらの配列は,後で次のような別のコードで代入することができる。Hair;多次元配列では,それぞれのレベルで同じ長さの配列をもつ必要はない。したがって,三角行列は,次のように生成してよい。(15.10)の中には,それぞれの括弧の中に一つ以上の次元式があってもよい。それぞれの次元式は,その右の次元式の前に完全に評価される。"]");}}は次のように表示する。次元式の評価が中途完了するならば,その右に現れる次元式の部分は一切評価されない。Exception("unimplemented");}}次のように表示する。代入する代入式は決して実行されないからである。この検査は,すべての次元式の評価が正常完了した後にだけ起こる。(oldlen==len));}}}次のように表示する。評価された後に,メモリ不足状態が検出されるからである。これと,実引数式(15.9.6)を評価する前に,メモリ不足状態を検出するクラスインスタンス生成式(15.9)を比較すること。(単純名を使用して現在のインスタンス又はクラスのフィールドを参照することもできる。6.5.6を参照すること。Identifierフィールドアクセス式の意味は,限定名(6.6)と同じ規則を使用して決定されるが,式がパッケージ,クラス型又はインタフェース型を指示することができないという制限がある。なければならず,そうでなければコンパイル時エラーが発生する。そのフィールドアクセス式の意味は,次のように決定される。複数のアクセス可能メンバフィールドの名前を指すなら,そのフィールドアクセスはあいまいであり,及びコンパイル時エラーが発生する。アクセス可能メンバフィールドを指さないなら,そのフィールドアクセスは未定義であり,及びコンパイル時エラーが発生する。なければ,その識別子は,型Tの単一のアクセス可能メンバフィールドを指して,そのフィールドアクセス式の型はフィールドの宣言型とする。実行時に,そのフィールドアクセス式の結果は次のように計算される。式の型であるクラス又はインタフェースの中で規定されたクラス変数の値となる。式の型であるクラスの中で規定されたクラス変数となる。値によって参照されるオブジェクトの中で規定されたインスタンス変数の値となる。値によって参照されたオブジェクトの中で規定されたインスタンス変数となる。式の型だけが,使用するフィールドを決定する際に使用されることに注意すること。time.";}}次のような出力を生成する。time.この最終行は,実際にはアクセスされるフィールドは,その被参照オブジェクトの実行時のクラスに依存しないことを示す。