2009-11-24 17 views
16

Durante la codifica in eclissi, mi piace essere il più pigro possibile. Quindi digito spesso qualcosa come:Posso generare automaticamente campi in eclissi da un costruttore?

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

Anche se MyClass non esiste e nemmeno il costruttore. Pochi clic dopo e Eclipse ha creato MyClass con un costruttore dedotto da quello che ho digitato. La mia domanda è, è possibile ottenere anche eclissi per generare campi nella classe che corrispondono a ciò che ho passato al costruttore? Mi rendo conto che è super pigro, ma è tutta la gioia di Eclipse!

risposta

28

Se si dispone di una classe A.

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

| è il cursore. Crtl + 1"parametro assegna al nuovo campo"

Risultato:

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

Questo funziona anche per i metodi:

void method(int b){} 

si tradurrà in:

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

    } 
+0

Cheers, questo è esattamente quello che stavo cercando. – Benj

+1

Uomo, adoro Eclipse. Grazie! +1 –

+2

Come usare questo con più campi? Per esempio se ho 5 campi e voglio generare questi campi solo in una mossa – pleerock

4

So che puoi fare il contrario. Definire i campi e lasciare Eclipse generare un costruttore utilizza questi campi per voi: Source | Generate Constructor using Fields

+0

Molto utile, sono sicuro che io uso questo, anche se non era proprio quello che cercavo oggi. – Benj

0

Dal momento che Eclipse Neon it è possibile assegnare tutti i parametri ai campi.

Utilizzando la rapida assist Ctrl + che suggeriscono Assign all parameters to new fields. È possibile chiamare l'assistenza rapida se il cursore è in qualsiasi punto tra la parentesi del costruttore.

Questa opzione è disponibile anche per i metodi.

source

Problemi correlati