2009-10-30 12 views
8

Se si esegue il seguente codice nella console Groovy esso stampa "8"Cosa significa finale in Groovy

class F { 

    private final Integer val = 2 

    def set(v) {val = v} 

    def print() {println val} 
} 

def f = new F() 
f.set(8) 
f.print() 

In Java questo codice non compilato perché non è possibile assegnare un riferimento final dopo la costruttore ha eseguito. So che per le proprietà, final indica che la proprietà non può essere modificata all'esterno della classe, ma cosa significa contrassegnare un campo privato final?

Grazie, Don

risposta