Что означает ключевое слово "transient" в Java? [дубликат]


этот вопрос уже есть ответ здесь:

Я где-то видел


transient private TrackDAO trackDAO;

3 158

3 ответа:

Google - ваш друг -первый удар - также вы можете сначала взглянуть на то, что сериализация - это.

он отмечает переменную-член не быть сериализуется, когда он сохраняется в поток байтов. Когда объект передана через сеть объект должен быть сериализован'. Сериализация преобразует объект состояние в последовательных байтах. Эти байты являются отправлено по сети и объектов воссоздается из тех байты. Член переменные, отмеченные переходным процессом java ключевые слова не передаются, они есть потерял намеренно.

пример оттуда, немного изменен (спасибо @pgras):

public class Foo implements Serializable
 {
   private String saveMe;
   private transient String dontSaveMe;
   private transient String password;
   //...
 }

переходные переменные в Java никогда не сериализуется.

Это означает, что trackDAO не должны быть сериализованы.