Поле обозначает какое-то состояние, связанное с экземпляром вашего класса.Например, BankAccount
может иметь поле balance
.
Никогда не следует использовать поле для упрощения передачи данных из одного метода в другой метод.Это просто не его цель.Это также делает ваши методы по своей природе потокобезопасными или требуют синхронизации.
Локальная переменная - это просто временное хранилище данных, используемое для поддержки операции, выполняемой методом.Например,
public void addInterest(double rate) {
double toAdd = rate * balance;
logTransaction("Interest", toAdd);
balance += toAdd;
}
toAdd здесь не имеет смысла как поле, так как оно является временным для операции, а не частью состояния учетной записи.