Могу ли я автоматически создавать поля в eclipse из конструктора?
Когда я кодирую в затмении, мне нравится быть как можно ленив. Поэтому я часто печатаю что-то вроде:
myObject = new MyClass (myParam1, myParam2, myParam3);
Несмотря на то, что MyClass не существует и не является конструктором. Несколько кликов позже, и eclipse создал MyClass с конструктором, который вывел из того, что я набрал. Мой вопрос: возможно ли также получить eclipse для генерации полей в классе, которые соответствуют тому, что я передал конструктору? Я понимаю, что он ленивый, но что вся радость затмения!
Ответы
Ответ 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
. Вы можете вызвать быстрый помощник, если курсор находится где угодно между скобкой конструктора.
Этот параметр доступен и для методов.
источник