static にする
static にするリファクタリングは、内部クラスまたはインスタンスメソッドを静的なものに変換します。
クラスの場合、このリファクタリングはコード内のクラスへのすべての参照も自動的に修正します。
メソッドの場合、このリファクタリングによって、メソッドのすべての呼び出し、実装、オーバーライドも自動的に修正されます。
リファクタリングするメソッドまたはクラスを選択します。
メインまたはコンテキストメニューで、
を選択します。表示されるダイアログで、リファクタリングオプションを指定します。
class の場合、そのクラスが外部クラスのフィールドを参照する場合、IntelliJ IDEA は外部クラスをパラメーターとして内部クラスのコンストラクターに渡すことを提案します。
メソッドの場合、そのメソッドが含まれているクラスフィールドのいずれかを参照する場合は、参照オブジェクト全体をパラメーターとしてメソッドに渡すか(名前のパラメーターとしてオブジェクトを追加する)、または参照フィールド / 変数をパラメーターとしてメソッドに渡すことができます(フィールドのパラメーターを追加する)。
メソッドにフィールドまたはインスタンス変数への参照が含まれていない場合は、インスタンス修飾子をクラス参照と置き換えるかどうかを指定できます。
メソッドを static にする例
前 | 後 |
---|---|
class ConnectionPool {
public int i;
public int j;
public void getConnection() {
...
}
}
|
class ConnectionPool {
public int i;
public int j;
public static void getConnection(ConnectionPool connectionPool) {
...
}
}
|
class ConnectionPool {
public int i;
public int j;
public void getConnection() {
...
}
}
|
class ConnectionPool {
public int i;
public int j;
public static void getConnection(int i, int j) {
...
}
}
|
呼び出し階層では、メソッドの呼び出し元にインスタンスメンバーへの他の参照が含まれていない場合、IntelliJ IDEA はそれらの呼び出し元も静的にすることを提案します。この例では、リファクタリングは baz(int i)
に対して実行されます。すべての呼び出し側メソッドも静的に選択されます。適切なダイアログで、静的にする呼び出し側メソッドを選択できます。
前 | 後 |
---|---|
class CallHierarchySample {
private void foo(int i) { bar(i);}
private void bar(int i) { baz(i);}
private void baz(int i) { }
}
|
class CallHierarchySample {
private static void foo(int i) { bar(i);}
private static void bar(int i) { baz(i);}
private static void baz(int i) { }
}
|
クラスを static にするダイアログ
このダイアログを使用して、static にするリファクタリングのオプションを指定します。
項目 | 説明 |
---|---|
インスタンス限定子をクラス参照で置換する | インスタンス修飾子をクラス参照に置き換えるかどうかを指定します。 |
メソッドを static にするダイアログ
このダイアログを使用して、static にするリファクタリングのオプションを指定します。
項目 | 説明 |
---|---|
名前のパラメーターとしてオブジェクトを追加する | このチェックボックスを選択して、参照されているオブジェクト全体をパラメーターとしてメソッドに渡す場合は、下のフィールドにパラメーターの名前を指定します。 |
フィールドのパラメーターを追加する | このチェックボックスを選択して、参照されたフィールド / 変数をパラメーターとしてメソッドに渡してから、リスト内の適切なフィールドを選択します。 |
上へ移動 / 下へ移動 | このボタンを使用して、リスト内のパラメーターの順序を変更します。 |
インスタンス限定子をクラス参照で置換する | インスタンス修飾子をクラス参照に置き換えるかどうかを指定します。このチェックボックスは、メソッドにフィールドまたはインスタンス変数への参照が含まれていない場合に使用できます。 |
関連ページ:
![](https://resources.jetbrains.com/help/img/idea/2024.1/diagram_editor.png)
UML クラスダイアグラム
ダイアグラムプラグインを有効にするこの機能は、デフォルトで IntelliJ IDEA にバンドルされて有効になっているダイアグラムプラグインに依存しています。関連する機能が利用できない場合は、プラグインを無効にしていないことを確認してください。を押して設定を開き、を選択します。インストール済みタブを開き、ダイアグラムプラグインを見つけて、プラグイン名の横にあるチェックボックスを選択します。IntelliJ IDEA を使用すると、プロジェクトのパッケージにダイアグラムを生成できます。このような...
![](https://resources.jetbrains.com/help/img/idea/2024.1/refactoring_invoke.png)
コードリファクタリング
リファクタリングは、新しい機能を作成せずにソースコードを改善するプロセスです。リファクタリングは、コードを安定させ、dry に保ち、保守を容易にできます。リファクタリングの呼び出し:リファクタリングするアイテムを選択します。エディターでプロジェクトツールウィンドウまたは式 / シンボルでファイル / フォルダーを選択できます。選択可能なリファクタリングのリストを開くには、を押します。または、特定のリファクタリング用のキーボードショートカットを使用することもできます。フィールドのカプセル化、st...
![](https://pleiades.io/icons/idea.png)
ブール値の反転
ブール値の反転リファクタリングでは、ブールメソッドまたは変数の意味を反対に変更できます。キャレットを、リファクタリングするメソッドまたは変数の名前に置きます。メインまたはコンテキストメニューで、を選択します。表示されたダイアログで、反転されたメソッドまたは変数の名前を指定します。プレビューと変更の適用。サンプル:private double a; ... public boolean method() { if (a > 15 && a < 100) { a = 5
![](https://resources.jetbrains.com/help/img/idea/2024.1/migrate_refactoring.png)
マイグレーション
マイグレーションリファクタリングを使用すると、プロジェクトで使用されている古いパッケージとクラスと新しいものを簡単に切り替えることができます。IntelliJ IDEA には、定義済みの移行マップのセットが付属しています。移行を実行するリファクタリングメインメニューで、に移動します。リストから目的の移行マップを選択します。開いたダイアログで、コードをリファクタリングするファイルのスコープを選択し、実行をクリックします。新しい移行を作成するメインメニューで、に移動し、新規移行の作成をクリックする...