Un champ indique un type d'état lié à une instance de votre classe. Par exemple, un BankAccount
peut avoir un champ balance
.
Vous ne devez jamais utiliser un champ pour simplifier la transmission de données d'une méthode à une autre méthode. Ce n'est tout simplement pas son but. Cela rend également vos méthodes intrinsèquement dangereuses ou nécessitent une synchronisation.
Une variable locale est simplement un stockage temporaire de données utilisé pour prendre en charge une opération effectuée par une méthode. Par exemple,
public void addInterest(double rate) {
double toAdd = rate * balance;
logTransaction("Interest", toAdd);
balance += toAdd;
}
toAdd ici n'a pas de sens comme un champ puisqu'il est temporaire à l'opération, ne fait pas partie de l'état du compte.
En relation/en double: http://stackoverflow.com/questions/1794141/java-instance-variables-vs-local-variables –