Как применить рефакторинг «метод перемещения» с помощью IntelliJ IDEA?

Решение этого потребует платформы определенное решение. Ищите opendir () на unix/linux или FindFirstFile () в Windows. Или, существуют многие библиотеки, которые обработают платформу определенная часть для Вас.

23
задан mranders 10 March 2011 в 16:38
поделиться

2 ответа

В IntelliJ 14-15 выполните следующие действия:

  1. Поместите курсор на метод ().
  2. нажмите Ctrl / Cmd + F6 (Изменить подпись).
  3. Введите новый параметр: Type = TheOtherClass, Name = theOtherClass, Значение по умолчанию = new TheOtherClass ()
  4. Refactor
  5. Затем нажмите F6 (перемещение) и переместите метод в другой класс.

Вы получите:

public class TheClass {
    public void doStuff() {
        int i = new TheOtherClass().theMethod();
    }
}
public class TheOtherClass {
    int theMethod() {
        System.out.println("Hello World!");
        return 0;
    }
}
27
ответ дан 29 November 2019 в 01:54
поделиться

Есть еще один метод. Представьте, что у вас есть код:

public int field;

public void foo(int a) {
    assert field == a;
}

И вы хотите сделать foo статичным. Выберите все тело метода и нажмите Alt + Ctrl + M (метод Extract). Введите то же имя метода. Установите флажок «Объявить статический» (доступно только в том случае, если метод только читает и не изменяет поля) и нажмите Ok. Итак, вы получите:

public void foo(int a) {
    foo(a, field);
}

private static void foo(int a, int field) {
    assert field == a;
}

Переместите статический метод куда хотите и используйте тело старого foo для его вызова.

0
ответ дан 29 November 2019 в 01:54
поделиться
Другие вопросы по тегам:

Похожие вопросы: