Intellij Idea IDEにはJavaクラスを合成する機能がありますか(転送クラス生成)

アレクセイソトニコフ:

たとえば、HashSetクラスを拡張したいのですが、クラスを拡張する代わりに、新しいクラスに、既存のクラスのインスタンスを参照するプライベートフィールドを与えます。新しいクラスの各インスタンスメソッドは、既存のクラスに含まれているインスタンスの対応するメソッドを呼び出し、結果を返します。これは、構成と転送のアプローチです。

すなわち、例えば、私はIDEForwardingSet基づいクラスを生成したいですSet

public class ForwardingSet<E> implements Set<E> {
     private final Set<E> s;

     public ForwardingSet(Set<E> s){ 
            this.s = s; 
     }

     public boolean contains(Object o){ 
            return s.contains(o); 
     }

     public boolean isEmpty(){
            return s.isEmpty();
     }


... and etc.

}

だから、どうやってそれを生成できIdeaますか?

PS:同様の質問がここありますが答えはありません。

Ferrybig:

これは、「委任されたメソッドの生成」機能を使用して実行できます

  1. 委任するフィールドのみを含む基本クラスを作成します。

    public class ForwardingSet<E> implements Set<E> {
         private final Set<E> s;
    }
    
  2. ローカルs変数の後ろを右クリックし、「生成」を押します

  3. ポップアップで「デリゲートメソッド」を選択してから、ローカルs変数を選択します。

  4. オーバーライドするすべてを選択します

  5. (オプション)を使用するコピーして交換するために交換するpublicことで@Override public、その後、すべて手動で上書き警告を取り除くために、ファイル内の最初の公開のためにそれを削除します

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

JavaプロジェクトでIntelliJ IDEAにDagger 2で生成されたクラスを認識させる方法はありますか?

分類Dev

Intellij IDEA Ultimate Java EE

分類Dev

Android Studioでクラス図(UML)を生成する方法(IntelliJ Idea)

分類Dev

EclipseのようにIntelliJ IDEAでクラスを自動インポートする方法(またはショートカット)はありますか?

分類Dev

IntelliJ IDEAがserialVersionUIDを生成

分類Dev

IntelliJ Ideaのクラスに@SuppressWarningsを追加するためのキーボードショートカットはありますか?

分類Dev

IntelliJ Ideaのクラスパスをどのように変更しますか?

分類Dev

Android Studio(IntelliJ IdeaベースのIDE)でLibgdxデスクトップアプリケーションをデプロイする方法はありますか?

分類Dev

非表示の機能IntelliJ IDEA

分類Dev

IntelliJ IDEAのエラー「ClassNotFoundException」

分類Dev

IntelliJ IDEA Renderエラー

分類Dev

Android開発用IntelliJ IDEA IDE

分類Dev

Generic plugin develop for eclipse IDE and intellij IDEA

分類Dev

IntelliJ IDEAでクラスのアクセス修飾子を表示する方法は?

分類Dev

IntelliJ IDEAでクラスのアクセス修飾子を表示する方法は?

分類Dev

Android Studio / Intellij Idea:クラスの「目次」

分類Dev

IntelliJ IDEA「クラス」または「インターフェース」が必要です

分類Dev

Intellij LibraryバージョンIntelliJ IDEA IU-181.4203.550にBytePointerおよびClsUtilクラスがありません

分類Dev

IntelliJ IDEA 16がクラスパスにMaven依存関係を追加

分類Dev

No option to run Java 9 project in IntelliJ IDEA

分類Dev

intelliJ IDEA:java.lang.ClassNotFoundException

分類Dev

IntelliJ IdeaからMavenゴールを実行するときにIntelliJ Ideaモジュールのクラスパスを使用する

分類Dev

Java:Idea Intellijでクラスを別のパッケージに移動する方法は?

分類Dev

IntelliJ IDEAが私のJavaファイルを実行可能として認識せず、代わりにクラスファイルを実行したい。修正方法のアイデアはありますか?

分類Dev

Intellij IdeaのJavadocプラグイン設定はどこにありますか?

分類Dev

IntelliJ Idea 2017.3 Kotlin SpringBootアプリを起動できません-@ Configurationクラスが最終版ではない可能性があります

分類Dev

IntelliJ Idea 2017.3 Kotlin SpringBootアプリを起動できません-@ Configurationクラスが最終版ではない可能性があります

分類Dev

IntelliJ IDEAにテストすることなく、すべてのクラスを一覧表示する方法は?

分類Dev

IntelliJ IDEA:Kotlinがありません

Related 関連記事

  1. 1

    JavaプロジェクトでIntelliJ IDEAにDagger 2で生成されたクラスを認識させる方法はありますか?

  2. 2

    Intellij IDEA Ultimate Java EE

  3. 3

    Android Studioでクラス図(UML)を生成する方法(IntelliJ Idea)

  4. 4

    EclipseのようにIntelliJ IDEAでクラスを自動インポートする方法(またはショートカット)はありますか?

  5. 5

    IntelliJ IDEAがserialVersionUIDを生成

  6. 6

    IntelliJ Ideaのクラスに@SuppressWarningsを追加するためのキーボードショートカットはありますか?

  7. 7

    IntelliJ Ideaのクラスパスをどのように変更しますか?

  8. 8

    Android Studio(IntelliJ IdeaベースのIDE)でLibgdxデスクトップアプリケーションをデプロイする方法はありますか?

  9. 9

    非表示の機能IntelliJ IDEA

  10. 10

    IntelliJ IDEAのエラー「ClassNotFoundException」

  11. 11

    IntelliJ IDEA Renderエラー

  12. 12

    Android開発用IntelliJ IDEA IDE

  13. 13

    Generic plugin develop for eclipse IDE and intellij IDEA

  14. 14

    IntelliJ IDEAでクラスのアクセス修飾子を表示する方法は?

  15. 15

    IntelliJ IDEAでクラスのアクセス修飾子を表示する方法は?

  16. 16

    Android Studio / Intellij Idea:クラスの「目次」

  17. 17

    IntelliJ IDEA「クラス」または「インターフェース」が必要です

  18. 18

    Intellij LibraryバージョンIntelliJ IDEA IU-181.4203.550にBytePointerおよびClsUtilクラスがありません

  19. 19

    IntelliJ IDEA 16がクラスパスにMaven依存関係を追加

  20. 20

    No option to run Java 9 project in IntelliJ IDEA

  21. 21

    intelliJ IDEA:java.lang.ClassNotFoundException

  22. 22

    IntelliJ IdeaからMavenゴールを実行するときにIntelliJ Ideaモジュールのクラスパスを使用する

  23. 23

    Java:Idea Intellijでクラスを別のパッケージに移動する方法は?

  24. 24

    IntelliJ IDEAが私のJavaファイルを実行可能として認識せず、代わりにクラスファイルを実行したい。修正方法のアイデアはありますか?

  25. 25

    Intellij IdeaのJavadocプラグイン設定はどこにありますか?

  26. 26

    IntelliJ Idea 2017.3 Kotlin SpringBootアプリを起動できません-@ Configurationクラスが最終版ではない可能性があります

  27. 27

    IntelliJ Idea 2017.3 Kotlin SpringBootアプリを起動できません-@ Configurationクラスが最終版ではない可能性があります

  28. 28

    IntelliJ IDEAにテストすることなく、すべてのクラスを一覧表示する方法は?

  29. 29

    IntelliJ IDEA:Kotlinがありません

ホットタグ

アーカイブ