Преходно (чуждестранно) - клас полета модифициращите в Java. Маркирано този модификатор полета са записани в байт поток при прилагане стандартен алгоритъм сериализация. Когато десериализиране обект, такива полета се инициализират с тяхната стойност по подразбиране.
Има няколко ситуации, в които искате да използвате този модификатор. Ето някои от тях.
- Клас Clazz област. белязан маркер интерфейс Serializable. е Serializable обект клас (например, java.lang.Thread или java.sql.ResultSet). В този случай, опит да се сериализира обект клас Clazz java.io.NotSerializableException да доведе до изключване. За правилно сериализация трябва да бъдат маркирани neserailizuemoe поле като преходно.
- стойност клас поле може да се изчислява след deserialization въз основа на стойностите на други области. Пример за това е обект, който резултатите от вътрешните изчислителни кеш. В този случай, от съображения за пестене на време и трафик че има смисъл да се въздържат от област сериализация.
- Стойността на областта е валидна само в настоящия контекст. Например, една област, която има връзка с майчиното растение е понякога си струва да маркира като преходно.
- Някои полета не могат да бъдат сериализирани, от съображения за сигурност, например, полето за парола от един клас на потребителя.
Защото поле статичен клас не е поредица, няма смисъл едновременното използване на модификатори на статични и преходно. Въпреки това, компилаторът смята комбинацията вярна.
Ако използвате вашия собствен алгоритъм сериализация (изпълнение Externalizable UI) логика е описан от възложителя, така че в този случай, преходно модификатора е безполезна.
Местна променлива не съхранява състоянието на обекта и не участват в сериализация, така че не могат да бъдат етикетирани модификатор преходно.
Свързани статии