Подтвердить что ты не робот

Могу ли я автоматически создавать поля в eclipse из конструктора?

Когда я кодирую в затмении, мне нравится быть как можно ленив. Поэтому я часто печатаю что-то вроде:

myObject = new MyClass (myParam1, myParam2, myParam3);

Несмотря на то, что MyClass не существует и не является конструктором. Несколько кликов позже, и eclipse создал MyClass с конструктором, который вывел из того, что я набрал. Мой вопрос: возможно ли также получить eclipse для генерации полей в классе, которые соответствуют тому, что я передал конструктору? Я понимаю, что он ленивый, но что вся радость затмения!

4b9b3361

Ответ 1

Если у вас есть класс A.

class A{
    A(int a |){}
}

| это курсор. Crtl + 1 "назначить параметр новому полю"

Результат:

class A{
    private final int a;
    A(int a){
        this.a = a;
    }
}

Это также работает для методов:

    void method(int b){}

приведет к:

    private int b;
    void method(int b){
        this.b = b;

    }

Ответ 2

Я знаю, что ты можешь делать наоборот. Определите поля и пусть Eclipse сгенерирует конструктор, используя эти поля для вас: Source | Generate Constructor using Fields

Ответ 3

Так как Eclipse Neon можно назначить все параметры полям.

Используя быстрый помощник Ctrl + 1, предложите Assign all parameters to new fields. Вы можете вызвать быстрый помощник, если курсор находится где угодно между скобкой конструктора.

Этот параметр доступен и для методов.

источник