IntelliJ IDEA 2026.1 Help

インスタンスメソッドに変換

インスタンスメソッドに変換リファクタリングでは、静的メソッドを静的ではないクラスインスタンスメソッドに変換できます。クラスは初期メソッドの型パラメーターです。

  1. エディターで、リファクタリングしたいメソッドの宣言または使用箇所にキャレットを置きます。 メソッドは static でなければならず、そのパラメーターの型はプロジェクトからのクラスであるべきです。 String のようなパラメーター型は使用できません。

  2. リファクタリング | インスタンスメソッドに変換 に移動します。

    コンテキストメニューを使用して、このリファクタリングにアクセスすることもできます。

  3. 開いたダイアログで、変換後にメソッドを所属させたいクラスを選択します。 メソッド内のこのクラスのすべての用途は this に置き換えられます。

    必要に応じて、変換されたメソッドの可視範囲を変更します。

  4. プレビューと変更の適用

サンプル

同じパッケージにあるクラス MyClassClassBClassB を検討してください。

その結果、 MyClassClassB が変換されます。

public class MyClass { ClassA classA = new ClassA(); ClassB classB = new ClassB(); static public void greatMethod(ClassA classA, ClassB classB){ System.out.println("classA = " + classA); System.out.println("classB = " + classB); } public void myMethod(){ MyClass.greatMethod(classA, classB); } }
public class MyClass { ClassA classA = new ClassA(); ClassB classB = new ClassB(); public void myMethod(){ classB.greatMethod(classA); } } public class ClassB { public void greatMethod(ClassA classA) { System.out.println("classA = " + classA); System.out.println("classB = " + this); } }

インスタンスメソッドに変換ダイアログ

このダイアログは、 インスタンスメソッドに変換 リファクタリングを呼び出すと表示されます。

項目

説明

インスタンスパラメーターを選択

変換後にメソッドが属するクラスを選択します。 メソッド内のこのクラスのすべての用途は this に置き換えられます。

可視性

この領域では、変換されたメソッドの可視範囲を変更できます。 デフォルトでは、変換されたメソッドにはスコープ宣言がありません (public と同等)。

2026 年 3 月 30 日