akios @ ウィキ内検索 / 「15.12.2. コンパイル時ステップ2: メソッドシグネチャーの決定」で検索した結果

検索 :
  • Java言語仕様 Java SE 7版 日本語訳
    ...スの決定     15.12.2. コンパイル時ステップ2 メソッドシグネチャーの決定       15.12.2.1. 潜在的に適用可能メソッドの識別       15.12.2.2. フェーズ1 サブタイプ化による適用可能な項数が一致するメソッドの識別       15.12.2.3. フェーズ2 メソッド呼び出し変換による適用可能な項数が一致するメソッドの識別       15.12.2.4. フェーズ3 適用可能な可変項数メソッドの識別       15.12.2.5. 最も具体的なメソッドの選択       15.12.2.6. メソッドの戻りとスローの型       15.12.2.7. 実引数による型実引数の推論       15.12.2.8. 未解決型実引数の推論     15.12.3. コンパイル時ステップ3 選択されたメソッドは適...
  • 4.6. 型の抹消
    4. 型と値と変数 4.1. 型と変数の種類 4.2. プリミティブ型と値 4.3. 参照型と値 4.4. 型変数 4.5. 引数付き型 4.6. 型の抹消 型の抹消(type erasure)とは型(引数付き型と型変数を含んでもよい)から型(引数付き型や型変数を含まない)へのマッピングです。型Tの抹消を|T|と記します。抹消マッピングを以下に定義します。 引数付き型G T1,...,Tn の抹消とは|G|です。 入れ子にされた型T.Cの抹消とは|T|.Cです。 配列型T[]の抹消とは|T|[]です。 型変数の抹消とはその最も左の制限の抹消です。 他の全ての型の抹消とはその型そのものです。 型の抹消はコンストラクターやメソッドのシグネチャーを引数付き型や型変数を持たないシグネチャーにマップすることも指します。コンストラクターやメソッドのシグネチャーsの抹消とはsと同じ名前を残し...
  • 4.12.2. 参照型の変数
    4. 型と値と変数 4.1. 型と変数の種類 4.2. プリミティブ型と値 4.3. 参照型と値 4.4. 型変数 4.5. 引数付き型 4.6. 型の抹消 4.7. 具象可能型 4.8. 未加工型 4.9. 交差型 4.10. サブタイプ化 4.11. 型の使用箇所 4.12. 変数 4.12.1. プリミティブ型の変数 4.12.2. 参照型の変数 クラス型Tの変数はヌル参照またはクラスTかTの任意のサブクラスのインスタンスへの参照を保持することができます。 インタフェース型の変数はヌル参照またはそのインタフェースを実装する任意のクラスのインスタンスへの参照を保持することができます。 変数は常にその宣言された型のサブタイプを参照できるとは保障されていません。保障されているのはその宣言された型のサブクラスやサブインタフェースのみです。これは以下に記述するヒープ汚染の可能...
  • 4.12.6. 型とクラスとインタフェース
    4. 型と値と変数 4.1. 型と変数の種類 4.2. プリミティブ型と値 4.3. 参照型と値 4.4. 型変数 4.5. 引数付き型 4.6. 型の抹消 4.7. 具象可能型 4.8. 未加工型 4.9. 交差型 4.10. サブタイプ化 4.11. 型の使用箇所 4.12. 変数 4.12.1. プリミティブ型の変数 4.12.2. 参照型の変数 4.12.3. 変数の種類 4.12.4. final変数 4.12.5. 変数の初期値 4.12.6. 型とクラスとインタフェース Javaプログラミング言語では、全ての変数や全ての式はコンパイル時に決定可能な型を持っています。型はプリミティブ型か参照型です。参照型にはクラス型やインタフェース型も含みます。参照型はクラス宣言やインタフェース宣言を含む型宣言によって導入されます。型という言葉をクラスやインタフェースを参照するのに用いること...
  • 4.5.1. 型実引数とワイルドカード
    4. 型と値と変数 4.1. 型と変数の種類 4.2. プリミティブ型と値 4.3. 参照型と値 4.4. 型変数 4.5. 引数付き型 4.5.1. 型実引数とワイルドカード 型実引数(type argument)は参照型かワイルドカード(wildcard)のいずれかです。ワイルドカードは型引数に関する知識が部分的にしかない場合に有効です。 TypeArguments    TypeArgumentList TypeArgumentList   TypeArgument   TypeArgumentList , TypeArgument TypeArgument   ReferenceType   Wildcard Wildcard   ? WildcardBoundsopt WildcardBounds   ex...
  • 4.5.2. 引数付き型のメソッドとコンストラクター
    4. 型と値と変数 4.1. 型と変数の種類 4.2. プリミティブ型と値 4.3. 参照型と値 4.4. 型変数 4.5. 引数付き型 4.5.1. 型実引数とワイルドカード 4.5.2. 引数付き型のメソッドとコンストラクター 型引数A1,...,Anを伴うジェネリッククラスやインタフェース宣言をCとします。C T1,...,Tn はCの呼び出しであるとし、1≦i≦nに対しTiは(むしろワイルドカードではない)型だとします。すると mをC内のメンバーもしくはコンストラクター宣言(8.2.、8.8.6.)とし、その宣言された型をTとすると、   C T1,...,Tn 内のmの型はT[A1 =T1,...,An =Tn]です。 mをD内のメンバーもしくはコンストラクター宣言とします。ここで、DはCを拡張した型もしくはCを実装したインタフェースです。D U1,...,Uk を...
  • 5. 変換と昇格
    5. 変換と昇格 Javaプログラミング言語で書かれた全ての式は、式の構造やその式の中に記述されたリテラルや変数やメソッドの型から推論できる型を持ちます。しかし、式の型が適切ではない文脈で式を書くこともできます。ある場合には、これはコンパイル時にエラーを引き起こします。他のケースでは、その式の型に関連する型を受理することができる文脈もあります。便宜上、プログラマーは明示的に型変換を要求する代わりに、Javaプログラミング言語は式の型をその周囲の文脈に合わせて受理することが可能な型に暗黙的に変換(conversion)を行います。 型Sから型Tへの特定の変換は型Sの式をあたかも型Tであるかのようにコンパイル時に扱えるようにします。変換の正当性を検査するために、または実行時の式の値を新たな型Tに対する適切な形式に変換するために、これは実行時に対応するアクションが必要になることがありま...
  • 5.1.5. 拡幅参照変換
    5. 変換と昇格 5.1. 変換の種類 5.1.1. 恒等変換 5.1.2. 拡幅プリミティブ変換 5.1.3. 縮幅プリミティブ変換 5.1.4. 拡幅と縮幅プリミティブ変換 5.1.5. 拡幅参照変換 拡幅参照変換(widening reference conversion)とはSはTのサブタイプである任意の参照型Sから任意の参照型Tへの変換です。 拡幅参照変換は実行時に一切の特別なアクションを要求しません。従って、実行時に例外をスローすることもありません。これは参照は単に他の型も持っており、それらもコンパイル時に正しいと証明できているからです。 5.1.6. 縮幅参照変換 5.1.7. ボックス化変換 5.1.8. ボックス化解除変換 5.1.9. 未検査変換 5.1.10. 捕捉変換 5.1.11. 文字列変換 5.1.12. 禁止変換 5.1.13. 値集合変換 ...
  • 4. 型と値と変数
    4. 型と値と変数 Javaプログラミング言語は静的に型付けされた(statically typed)言語です。これはコンパイル時にどの変数の型もどの式の型も分かっているということを意味します。 Javaプログラミング言語は強く型付けされた(strongly typed)言語でもあります。型はその変数が持つことが可能な値を制限し、それらの値を用いた演算を制限し演算の意味を決定します。強く静的な型付けはコンパイル時にエラーを発見するのに役立ちます。 Javaプログラミング言語の型は2つのカテゴリー、プリミティブ型と参照型に分けられます。プリミティブ型にはboolean型と数値型があります。数値型には整数型であるbyte、short、int、long、char型と、浮動小数点型であるfloat、double型があります。参照型にはクラス型、インタフェース型、配列型があります。...
  • 3.10.5. 文字列リテラル
    3. 字句構造 3.1. Unicode 3.2. 字句変換 3.3. Unicodeエスケープ 3.4. 行終端子 3.5. 入力要素とトークン 3.6. 空白 3.7. コメント 3.8. 識別子 3.9. キーワード 3.10. リテラル 3.10.1. 整数リテラル 3.10.2. 浮動小数点リテラル 3.10.3. ブールリテラル 3.10.4. 文字リテラル 3.10.5. 文字列リテラル 文字列リテラル(string literal)は2重引用符で0個以上の文字を括ったものです。文字はエスケープシーケンスでも構いません。U+0000~U+FFFFの範囲にある文字に対しては1つのエスケープシーケンスで、U+010000~U+10FFFFの範囲にある文字に対してはUTF-16サロゲートコード単位を表す2つのエスケープシーケンスで表せます。 StringLiteral ...
  • 4.8. 未加工型
    4. 型と値と変数 4.1. 型と変数の種類 4.2. プリミティブ型と値 4.3. 参照型と値 4.4. 型変数 4.5. 引数付き型 4.6. 型の抹消 4.7. 具象可能型 4.8. 未加工型 非ジェネリックのレガシーコードとのインタフェースを容易にするため、引数付き型の抹消や構成要素の引数付き型を抹消した配列型を型として利用できます。このような型を未加工型(raw type)と呼びます。 もう少し正確には、未加工型とは次の1つとして定義されます。 型実引数リストを持たないジェネリック型宣言の名前という形式の参照型 構成要素の型が未加工型である配列型 未加工型Rの非静的メンバー型、Rのスーパークラスやスーパーインタフェースから継承されていないこと 非ジェネリッククラス型やインタフェース型は未加工型ではありません。 未加工型の非静的型メンバーがなぜ未加工と...
  • 1.1. 仕様の構成
    1. はじめに 1.1. 仕様の構成 2章では、言語の字句と構文文法を表す文法と表記法について記述します。 3章では、CやC++に基づいたJavaプログラミング言語の字句構造について記述します。言語はUnicode文字セットで記述します。言語はASCIIのみをサポートするシステム上でもUnicode文字をサポートします。 4章では、型や値や変数について記述します。型はプリミティブ型と参照型に分けられます。 プリミティブ型は全てのマシンと全ての実装で同一なものが定義されており、多様なサイズの2の補数の整数や、単精度・倍精度IEEE754規格浮動小数点数、boolean型、Unicode文字char型が定義されています。プリミティブ型はステートを共有しません。 参照型はクラス型やインタフェース型や配列型です。参照型はクラスのインスタンスか配列のいずれかの動的作成オブジェク...
  • 4.4. 型変数
    4. 型と値と変数 4.1. 型と変数の種類 4.2. プリミティブ型と値 4.3. 参照型と値 4.4. 型変数 型変数(type variable)とはクラスやインタフェース、メソッド、コンストラクターの本体内で型として使われる限定されていない識別子です。 型変数はジェネリッククラス宣言やジェネリックインタフェース宣言、ジェネリックメソッド宣言、ジェネリックコンストラクター宣言の型引数(type parameter)として宣言されます。 TypeParameter   TypeVariable TypeBoundopt TypeBound   extends TypeVariable   extends ClassOrInterfaceType AdditionalBoundListopt AdditionalBoundList   A...
  • 4.12.5. 変数の初期値
    4. 型と値と変数 4.1. 型と変数の種類 4.2. プリミティブ型と値 4.3. 参照型と値 4.4. 型変数 4.5. 引数付き型 4.6. 型の抹消 4.7. 具象可能型 4.8. 未加工型 4.9. 交差型 4.10. サブタイプ化 4.11. 型の使用箇所 4.12. 変数 4.12.1. プリミティブ型の変数 4.12.2. 参照型の変数 4.12.3. 変数の種類 4.12.4. final変数 4.12.5. 変数の初期値 プログラム内のどの変数もその値が使用される前に値を持たなくてはなりません。 クラス変数やインスタンス変数や配列要素は作成された時(15.9.、15.10.)にデフォルト値(default value)で初期化されます。byte型のデフォルト値はゼロ、つまり(byte)0の値です。 short型のデフォルト値はゼロ、つまり(short)0の値です...
  • 4.3. 参照型と値
    4. 型と値と変数 4.1. 型と変数の種類 4.2. プリミティブ型と値 4.3. 参照型と値 参照型(reference type)には、クラス型、インタフェース型、型変数そして配列型の4種類があります。 ReferenceType   ClassOrInterfaceType   TypeVariable   ArrayType ClassOrInterfaceType   ClassType   InterfaceType ClassType   TypeDeclSpecifier TypeArgumentsopt InterfaceType   TypeDeclSpecifier TypeArgumentsopt TypeDeclSpecifier   TypeName   ClassOrInterface...
  • 4.12.3. 変数の種類
    4. 型と値と変数 4.1. 型と変数の種類 4.2. プリミティブ型と値 4.3. 参照型と値 4.4. 型変数 4.5. 引数付き型 4.6. 型の抹消 4.7. 具象可能型 4.8. 未加工型 4.9. 交差型 4.10. サブタイプ化 4.11. 型の使用箇所 4.12. 変数 4.12.1. プリミティブ型の変数 4.12.2. 参照型の変数 4.12.3. 変数の種類 変数には7つの種類があります。 クラス変数(class variable)はクラス宣言内でキーワードstaticを使用して宣言されたフィールド(8.3.1.1.)、もしくはインタフェース宣言内でキーワードstaticを使用してまたは使用せず宣言されたフィールド(9.3.)です。   クラス変数はそのクラスやインタフェースが準備されデフォルト値に初期化される時に作成されます。クラス変数はその変数やインタ...
  • 4.5. 引数付き型
    4. 型と値と変数 4.1. 型と変数の種類 4.2. プリミティブ型と値 4.3. 参照型と値 4.4. 型変数 4.5. 引数付き型 1つ以上の型引数A1,...,Anと対応する制限B1,...,Bnを伴ったジェネリッククラス宣言やジェネリックインタフェース宣言Cは引数付き型(parameterized type)の集合を定義します。呼び出し時に指定可能な型実引数の組み合わせ毎に1つの要素となります。 この集合内の個々の引数付き型を書式C T1,...,Tn で表します。ここで、各型実引数Tiは対応する制限内に書かれている全ての型のサブタイプをカバーします。つまり、Bi中の各制限型Siに対し、TiはSi[F1 =T1,...,Fn =Tn]のサブタイプです。 1つの引数付き型は少なくとも1つの型宣言指定子と続く型実引数リスト T1,...,Tn で構成されるClass...
  • 3.10.2. 浮動小数点リテラル
    3. 字句構造 3.1. Unicode 3.2. 字句変換 3.3. Unicodeエスケープ 3.4. 行終端子 3.5. 入力要素とトークン 3.6. 空白 3.7. コメント 3.8. 識別子 3.9. キーワード 3.10. リテラル 3.10.1. 整数リテラル 3.10.2. 浮動小数点リテラル 浮動小数点リテラル(floating-point literal)は整数部、10進もしくは16進小数点(ASCIIピリオド文字)、小数部、指数部、型を表す接尾語より構成されています。 浮動小数点リテラルは10進もしくは16進で表すことができます。 10進浮動小数点リテラルでは、少なくとも1桁の数(整数部もしくは小数部に)の他に10進小数点、指数部、型を表す接尾語のいずれか1つが必要です。それ以外の要素は省略可能です。指数部が存在するなら、ASCII文字eまたはEが先...
  • 4.2.2. 整数演算
    4. 型と値と変数 4.1. 型と変数の種類 4.2. プリミティブ型と値 4.2.1. 整数型と値 4.2.2. 整数演算 Javaプログラミング言語は整数値に対する演算として以下を提供しています。 比較演算子はboolean型の値を返します。 数値比較演算子 と =と と = 数値等価演算子==と!= 数値演算子はint型もしくはlong型を返します。単項プラス演算子+、単項マイナス演算子- 乗法演算子*と/と% 加法演算子+と- インクリメント演算子、前置と後置の両方をサポート デクリメント演算子、前置と後置の両方をサポート 符号付きまたは符号なしシフト演算子 と と ビット単位補数演算子~ 整数ビット単位演算子 と^と| 条件演算子? キャスト演算子、整数値を指定された数値型の値に変換します 文字列結合演算子+、Stringオペランドと整数オペランドを与えると...
  • 3.4. 行終端子
    3. 字句構造 3.1. Unicode 3.2. 字句変換 3.3. Unicodeエスケープ 3.4. 行終端子 Javaコンパイラーは次にUnicode入力文字の列を行識別子(line terminator)を認識することで行に変換します。 LineTerminator   the ASCII LF character, also known as "newline"   the ASCII CR character, also known as "return"   the ASCII CR character followed by the ASCII LF character InputCharacter   UnicodeInputCharacter but not CR or LF 行はASC...
  • 4.9. 交差型
    4. 型と値と変数 4.1. 型と変数の種類 4.2. プリミティブ型と値 4.3. 参照型と値 4.4. 型変数 4.5. 引数付き型 4.6. 型の抹消 4.7. 具象可能型 4.8. 未加工型 4.9. 交差型 交差型(intersection type)はT1 ... Tn(n 0)の形式をとります。ここでTi (1 ≦ i ≦ n)は型式です。 交差型は捕捉変換や型推論の処理中に生じます。プログラムの一部として交差型を直接書くことはできません。これに対する文法はありません。 交差型の値は1≦i≦nに対する全ての型Tiの値であるオブジェクトです。 交差型T1 ... Tnは以下の通り決定されます。 各Ti(1≦i≦n)に対し、Ti Ciである最も特殊なクラスもしくは配列をCiとします。その時、任意のi(1≦i≦n)に対しCk...
  • 5.1.3. 縮幅プリミティブ変換
    5. 変換と昇格 5.1. 変換の種類 5.1.1. 恒等変換 5.1.2. 拡幅プリミティブ変換 5.1.3. 縮幅プリミティブ変換 プリミティブ型に対する22の特定の変換が縮幅プリミティブ変換(narrowing primitive conversion)と呼ばれます。 shortをbyteやcharへ変換 charをbyteやshortへ変換 intをbyteやshort、charへ変換 longをbyteやshort、char、intへ変換 floatをbyteやshort、char、int、longへ変換 doubleをbyteやshort、char、int、long、floatへ変換 縮幅プリミティブ変換は数値の全体的な大きさという情報を失うかもしれません。また、精度や範囲についても失うかもしれません。 doubleからfloatへの縮幅プリミティブ変換は...
  • 4.11. 型の使用箇所
    4. 型と値と変数 4.1. 型と変数の種類 4.2. プリミティブ型と値 4.3. 参照型と値 4.4. 型変数 4.5. 引数付き型 4.6. 型の抹消 4.7. 具象可能型 4.8. 未加工型 4.9. 交差型 4.10. サブタイプ化 4.11. 型の使用箇所 宣言や特定の式内において型は使用されます。 例4.11-1. 型の使用 import java.util.Random; import java.util.Collection; import java.util.ArrayList; class MiscMath T extends Number { int divisor; MiscMath(int divisor) { this.divisor = divisor; } float ratio(long l) { ...
  • 4.3.1. オブジェクト
    4. 型と値と変数 4.1. 型と変数の種類 4.2. プリミティブ型と値 4.3. 参照型と値 4.3.1. オブジェクト オブジェクト(object)はクラスインスタンス(class instance)または配列です。 参照値(単に参照(reference))はオブジェクトへのポインターです。どのオブジェクトも参照しない特別なヌル参照もあります。 クラスインスタンスはクラスインスタンス作成式で明示的に作成されます。 配列は配列作成式で明示的に作成されます。 文字列連結演算子+を非定数式の中で使用すると新たなクラスインスタンスが暗黙的に作成され、String型の新たなオブジェクトとなります。 配列初期化式が評価された時に新たな配列オブジェクトが暗黙的に作成されます。これはクラスやインタフェースが初期化される場合や、クラスの新たなインスタンスが作成...
  • 4.7. 具象可能型
    4. 型と値と変数 4.1. 型と変数の種類 4.2. プリミティブ型と値 4.3. 参照型と値 4.4. 型変数 4.5. 引数付き型 4.6. 型の抹消 4.7. 具象可能型 いくつかの型の情報はコンパイル中に抹消されるため、実行時に全ての型が利用可能であるとは限りません。実行時に完全な形で利用可能な型を具象可能型(reifiable type)と呼びます。 次のいずれか1つの条件を満たす場合のみ、型は具象可能であるといいます。 非ジェネリッククラスやインタフェース型宣言を参照する 全ての型引数が制限なしのワイルドカードである引数付き型である 未加工型である プリミティブ型である 構成要素の型が具象可能である配列型である 入れ子型で、"."で分割された各型Tに対してT自身が具象可能   例えば、ジェネリッククラスX T がジェネリックメンバークラ...
  • 4.2.4. 浮動小数点演算
    4. 型と値と変数 4.1. 型と変数の種類 4.2. プリミティブ型と値 4.2.1. 整数型と値 4.2.2. 整数演算 4.2.3. 浮動小数点型と書式と値 4.2.4. 浮動小数点演算 Javaプログラミング言語は浮動小数点値に対する演算として以下を提供しています。 比較演算子はboolean型の値を返します。 数値比較演算子 と =と と = 数値等価演算子==と!= 数値演算子はfloat型もしくはdouble型を返します。単項プラス演算子+、単項マイナス演算子- 乗法演算子*と/と% 加法演算子+と- インクリメント演算子、前置と後置の両方をサポート デクリメント演算子、前置と後置の両方をサポート 条件演算子? キャスト演算子、浮動小数点値を指定された数値型の値に変換します 文字列結合演算子+、Stringオペランドと浮動小数点オペランドを与えると浮動小数点オペラ...
  • 1.2. プログラム例
    1. はじめに 1.1. 仕様の構成 1.2. プログラム例 プログラム例の大部分は実行可能な以下のような形式のテキストで記述します。 class Test { public static void main(String[] args) { for (int i = 0; i args.length; i++) System.out.print(i == 0 ? args[i] " " + args[i]); System.out.println(); } } Javaプログラミング言語のコンパイラーのリファレンス実装がインストールされているマシン上でファイル名をTest.javaとして保存し、以下のコマンドによってコンパイルして実行できます。 javac Test.java...
  • 3.8. 識別子
    3. 字句構造 3.1. Unicode 3.2. 字句変換 3.3. Unicodeエスケープ 3.4. 行終端子 3.5. 入力要素とトークン 3.6. 空白 3.7. コメント 3.8. 識別子 識別子(identifier)とはJava文字で始まりJava文字や数字が続く長さに制限のない列です。 Identifier   IdentifierChars but not a Keyword or BooleanLiteral or NullLiteral IdentifierChars   JavaLetter   IdentifierChars JavaLetterOrDigit JavaLetter   any Unicode character that is a Java letter (see below) JavaLett...
  • 3.1. Unicode
    3. 字句構造 3.1. Unicode プログラムはUnicode文字集合(character set)にて記述します。この文字集合とそれと関連する文字符号化(encoding)についてはhttp //www.unicode.org/を参照してください。 Java SEプラットフォームをUnicodeの仕様の更新を追っています。リリース毎の正確なUnicodeのバージョンはCharacterクラスのドキュメントに明記されています。 Javaプログラミング言語の1.1より前のバージョンはUnicodeバージョン1.1.5を使用しています。Unicode規格の新規バージョンへのアップグレードはJDK 1.1の時にUnicode 2.0へ、JDK1.1.7の時にUnicode 2.1へ、Java SE 1.4の時にUnicode 3.0へ、Java SE 5.0の時にUn...
  • プラグイン/ニュース
    ニュース @wikiのwikiモードでは #news(興味のある単語) と入力することで、あるキーワードに関連するニュース一覧を表示することができます 詳しくはこちらをご覧ください。 =>http //atwiki.jp/guide/17_174_ja.html たとえば、#news(wiki)と入力すると以下のように表示されます。 【カウンターサイド】リセマラ当たりランキング - カウサイ攻略Wiki - Gamerch(ゲーマチ) ウィキペディアを作ったiMacが箱付きで競売に登場。予想落札価格は約96万円!(ギズモード・ジャパン) - Yahoo!ニュース - Yahoo!ニュース 【テイルズオブルミナリア】リセマラ当たりランキング - TOルミナリア攻略Wiki - Gamerch(ゲーマチ) 終末のアーカーシャ(終アカ)攻略wiki - ...
  • @wiki全体から「15.12.2. コンパイル時ステップ2: メソッドシグネチャーの決定」で調べる

更新順にページ一覧表示 | 作成順にページ一覧表示 | ページ名順にページ一覧表示 | wiki内検索

目安箱バナー