内部及び無名クラスに一意名を与えるとは? わかりやすく解説

Weblio 辞書 > 辞書・百科事典 > ウィキペディア小見出し辞書 > 内部及び無名クラスに一意名を与えるの意味・解説 

内部及び無名クラスに一意名を与える

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/11/26 23:58 UTC 版)

名前修飾」の記事における「内部及び無名クラスに一意名を与える」の解説

無名の (anonymous) クラススコープは、その親クラス制限される。そのため、コンパイラは「修飾付きの」 (qualified) パブリックな名前を内部クラスに対して与えなければならない同様に無名クラスには「偽の」パブリックな名前を生成しなければならない無名クラスコンパイラ概念であり、実行時には関係がない)。そこで、次のJavaプログラムコンパイルすると public class Foo { class bar { public int x; } public void zark () { Object f = new Object () { public String toString() { return "hello"; } }; }} 三つ.class ファイル生成される。 Foo.class, 主クラス外側クラスFoo を含む。 Foo$bar.class, Foo.bar という名前付きの内部クラスを含む。 Foo$1.class, メソッド Foo.zark に対して局所的な無名内部クラスを含む。 ドル記号 ($) はJVM仕様許されているので、これら三つクラス名全て有効であり、Java言語仕様上 $ は通常のJavaクラス定義用いることができないので、コンパイラ安全にこれらの名前を利用することができる。 完全修飾名は特定のクラスローダインスタンスの内部でのみ一意であるので、実行時にはJavaにおける名前の解決は更に複雑である。クラスローダ階層性をもっており、JVMの各スレッドいわゆる文脈クラスローダ (context class loader) を持っている。そこで、二つ異なったクラスローダインスタンスが同じ名前のクラスを含む時、システム初めルート(あるいはシステムクラスローダ用いてクラスロードしようとし、次いで階層に従って文脈クラスローダをたどる。

※この「内部及び無名クラスに一意名を与える」の解説は、「名前修飾」の解説の一部です。
「内部及び無名クラスに一意名を与える」を含む「名前修飾」の記事については、「名前修飾」の概要を参照ください。

ウィキペディア小見出し辞書の「内部及び無名クラスに一意名を与える」の項目はプログラムで機械的に意味や本文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。 お問い合わせ



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

内部及び無名クラスに一意名を与えるのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



内部及び無名クラスに一意名を与えるのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
Text is available under GNU Free Documentation License (GFDL).
Weblio辞書に掲載されている「ウィキペディア小見出し辞書」の記事は、Wikipediaの名前修飾 (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。

©2024 GRAS Group, Inc.RSS