内部クラスとは? わかりやすく解説

内部クラス

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/08/17 21:54 UTC 版)

C SharpとJavaの比較」の記事における「内部クラス」の解説

いずれの言語ネストされた型(入れ子にされた型クラス構造体ブロックの中で定義されクラス・構造体列挙型インターフェイス)をサポートするJavaではインターフェイス内部クラス列挙型定義するともできるC#ではインターフェイス内部クラス・構造体列挙型インターフェイス定義することはできないJavaでは、ネストされたクラス (nested class) は既定で内部クラス (inner class) となる。内部クラスは外側クラスインスタンス暗黙的にキャプチャすることで、静的メンバ、非静的メンバいずれにもアクセスすることができる。ネストされたクラスstatic修飾されていた場合静的メンバのみにアクセスできる。メソッド内部クラス定義することもでき、これはローカルクラス (local class) と呼ばれる。ローカルクラスでは、外側ローカル変数には読み取りアクセスのみできる。また、型の名前を持たないローカルクラス(匿名クラス: anonymous class)を定義し同時にインスタンス生成をすることもできるC#では、ネストされたクラス構造体から外側クラス構造体の非静的メンバアクセスするためには外側クラス構造体インスタンスへの明示的な参照必要になるJavaの内部クラスやローカルクラスに相当する機能存在しない代わりにC# 2.0以降では匿名メソッド (anonymous method) が、C# 3.0以降ではラムダ式が、そしてC# 7.0以降ではローカル関数サポートされ外側変数キャプチャするクロージャとして利用できる。なお、C# 3.0では限定的なローカルクラスとして、匿名型読み取り専用プロパティのみを持つ、匿名クラス型)がサポートされる。

※この「内部クラス」の解説は、「C SharpとJavaの比較」の解説の一部です。
「内部クラス」を含む「C SharpとJavaの比較」の記事については、「C SharpとJavaの比較」の概要を参照ください。

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



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

辞書ショートカット

すべての辞書の索引

「内部クラス」の関連用語

内部クラスのお隣キーワード
検索ランキング

   

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



内部クラスのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

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

©2024 GRAS Group, Inc.RSS