工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Industrial programming >> Java

Java無名インナークラス完全ガイド:定義、構文、実践例

Java無名インナークラスをマスターする

明確で実践的な例で、Javaの無名インナークラスの定義、実装、活用方法を発見してください。

Javaでは、クラスが別のクラスをネストできます——インナークラスです。そのインナークラスに明示的な名前がない場合、無名インナークラスと呼ばれます。

無名インナークラスは、別のクラスや式の中にインラインで定義されます。名前がないため、囲むコードが実行されるときにのみ作成され、短いワンショット実装に最適です。

典型的なパターンは:

class OuterClass { // 無名インナークラスインスタンスを作成 Type instance = new Type(parameters) { // オーバーライドメソッドや追加振る舞い }; } 

ここで、Typeは以下のいずれかです:

  1. 無名クラスが継承するスーパークラス
  2. 無名クラスが実装するインターフェース

実行時、上記ステートメントは無名クラスのインスタンスを構築し、宣言された参照型を通じて使用できます。

重要: 宣言が式であるため、終了セミコロンはクラスボディではなくステートメントを終了します。


例1:無名インナークラスでクラスを拡張

class Polygon { public void display() { System.out.println("Inside the Polygon class"); } } class AnonymousDemo { public void createClass() { Polygon p1 = new Polygon() { @Override public void display() { System.out.println("Inside an anonymous class."); } }; p1.display(); } } public class Main { public static void main(String[] args) { new AnonymousDemo().createClass(); } } 

出力**

Inside an anonymous class.

この例では、無名クラスがPolygonを継承し、display()をオーバーライドしています。createClass()実行時に無名サブクラスのインスタンスが作成され、オーバーライドされたメソッドが呼び出されます。


例2:無名インナークラスでインターフェースを実装

interface Polygon { void display(); } class AnonymousDemo { public void createClass() { Polygon p1 = new Polygon() { @Override public void display() { System.out.println("Inside an anonymous class."); } }; p1.display(); } } public class Main { public static void main(String[] args) { new AnonymousDemo().createClass(); } } 

出力**

Inside an anonymous class.

ここでは、無名クラスがPolygonインターフェースを実装し、必要なメソッド実装を単一の簡潔なブロックで提供しています。


なぜ無名インナークラスを使うのか?

無名インナークラスは、簡潔でコンテキスト固有の実装が必要な場面で輝きます:

  • イベントリスナーとコールバック(GUIフレームワーク)——別名クラスを作らずに振る舞いをアタッチ。
  • Runnableによるスレッド作成——runロジックをインラインで記述。
  • ローカルアダプタやラッパー——既存クラスの一部メソッドをオーバーライド。

メリット:

  • 簡潔さ——別ファイルやクラス宣言が不要。
  • スコープ制御——クラスは定義された場所でのみ可視。
  • 実行時柔軟性——インスタンスは必要時のみ作成。

より大規模で再利用可能なロジックには、名前付きクラスやラムダ式(関数型インターフェースの場合)を検討し、コードを保守しやすく保ちましょう。

Java

  1. Javaのfinalキーワード完全解説:変数、メソッド、クラスでの活用法
  2. Java instanceof演算子完全ガイド:基本から継承・インターフェースまで
  3. Java継承のマスター:概念、種類、実践例
  4. Java Staticネストクラスの理解:用法、違い、実例
  5. Javaシングルトンパターン完全解説:安全な実装と活用法
  6. Javaリフレクション完全ガイド:実行時のクラス・メソッド・フィールド検査
  7. Java ArrayList完全マスター:操作・メソッド・ベストプラクティス
  8. Java Stackクラス完全ガイド:使い方と主要メソッド
  9. Java ObjectOutputStream完全ガイド:シリアル化、メソッド、実践例
  10. Javaジェネリクス完全ガイド:再利用可能で型安全なコードの構築
  11. Javaファイル操作のマスター:java.ioによる作成・読み取り・書き込み・削除