Java 7 以前とは? わかりやすく解説

Java 7 以前

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

クロージャ」の記事における「Java 7 以前」の解説

Java 7 以前では、メソッド内部に「ローカルクラス」あるいは「匿名クラス」を定義することで似たようなことができる。ローカルクラス/匿名クラスからは、そのメソッドfinalリードオンリー)なローカル変数を、ローカルクラス/匿名クラスフィールドと名前が衝突しない限り参照できるclass CalculationWindow extends JFrame { private JButton saveButton; ... public final void calculateInSeparateThread(final URI uri) { // The expression "new Runnable() { ... }" is an anonymous class. Runnable runner = new Runnable() { void run() { // It can access final local variables: calculate(uri); // It can access private fields of the enclosing class: // Always update the Graphic components into the Swing Thread SwingUtilities.invokeLater(new Runnable() { public void run() { saveButton.setEnabled(true); } }); } }; new Thread(runner).start(); }} 要素1つ配列final参照保持すれば、クロージャ1つローカル変数参照する機能をエミュレートできる。内部クラスはその参照の値そのもの変えることはできないが、参照されている配列要素の値は変えることができるからである。このテクニックJava限ったものではなくPythonなど似た制限を持つ言語でも有効である。 Javaに完全なクロージャ追加するという言語拡張検討されていた。様々な問題により、クロージャ導入せずに、関数型インタフェース実装するための簡便な表記法ラムダ式)が Java 8 にて導入された。

※この「Java 7 以前」の解説は、「クロージャ」の解説の一部です。
「Java 7 以前」を含む「クロージャ」の記事については、「クロージャ」の概要を参照ください。

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



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

辞書ショートカット

すべての辞書の索引

「Java 7 以前」の関連用語

Java 7 以前のお隣キーワード
検索ランキング

   

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



Java 7 以前のページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

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

©2025 GRAS Group, Inc.RSS