参照
識別子
識別子とはプログラムに導入された名前です。宣言でプログラムに導入され、定義されることでインスタンスと対応します。
int i = 5;
int j = 5;
int k = i + j + 10;
上記の i、j、k が識別子です。定義文で値との対応が決定されています。
セッタ、ゲッタ、定数も参照と同じ記法で利用できます。これらは単純な識別子による参照とは異なりますが、ここでは便宜上同一のものとして扱います。
以上より、識別子でアクセスできるのは以下の五つとなります。
変数
フィールド
セッタ
ゲッタ
定数
優先順位
識別子によるインスタンスの探索は次の順序で行われます。これが、参照の優先順位となります。
変数
フィールド
セッタとゲッタ
定数
更に、変数は内部のスコープから外側のスコープの順序で探索されます。
隠蔽
同じ識別子に対応付けされたインスタンスが存在する場合、一番高い優先順位を持つインスタンスが返されます。
識別子の衝突は優先度の低いインスタンスを隠蔽します。優先順位を変更するための特別な記法は存在しないので、そのようなインスタンスにアクセスすることはできません。
アドレス
参照がインスタンスを返す場合、インスタンスそのものは返りません。インスタンスが確保されたメモリのアドレスが返されます。
Copyright © Rice All rights reserved.