Този блог ще разработи подробно използването и прилагането на ключовата дума „transient“ в Java.
Какво представлява „преходната“ ключова дума в Java?
Java“ преходен „ключовата дума се използва за избягване на“ сериализация ”. Ако някой обект от структура от данни е разпределен като преходен, това означава, че той няма да бъде сериализиран. Работи така, че ако определена променлива е определена като преходна, тя не може да бъде записана във файла и „ 0 ” се съхранява вместо това.
Синтаксис
частен преходен < mem var >;
В този синтаксис „ mem var ” сочи към променливата, разпределена като „ преходен ”.
Преди да се насочите към примера, не забравяйте да включите следните библиотеки за работа с „ Може да се сериализира ” интерфейс и съответно достъп до всички класове и методи:
импортиране java.io.Serializable ;
импортиране java.io.* ;
Демонстрация на „преходната“ ключова дума в Java
В следния пример „ преходен Ключовата дума ” може да бъде свързана с променлива, така че нейната предадена стойност в обекта да не може да бъде записана във файла:
публичен клас преходен ключ инструменти Може да се сериализира {низ име ;
низ град ;
преходен вътр възраст ;
преходен ключ ( низ име, низ град, вътр възраст ) {
това . име = име ;
това . град = град ;
това . възраст = възраст ;
}
Съгласно горните редове код, приложете посочените по-долу стъпки:
- Първо, дефинирайте клас с име „ преходен ключ ', който прилага' Може да се сериализира ”, за да направи обекта на класа сериализираем и да позволи преобразуването на обект да бъде записан под формата на файл.
- В дефиницията на класа посочете посочените променливи с „ възраст ” присвоено като „ преходен ”.
- Сега създайте конструктор на клас с посочените параметри, идентични на посочените променливи.
- В дефиницията на конструктора се обърнете към посочените променливи и им задайте стойностите на параметрите чрез „ това ”.
Сега прегледайте „ основен ” кодов фрагмент:
публичен статичен невалиден основен ( низ аргументи [ ] ) хвърля Изключение {преходен ключов обект = нов преходен ключ ( 'Хари' , 'Лондон' , 22 ) ;
FileOutputStream fileOut = нов FileOutputStream ( 'defaultfile.txt' ) ;
ObjectOutputStream objOut = нов ObjectOutputStream ( fileOut ) ;
objOut. writeObject ( обект ) ;
objOut. флъш ( ) ;
objOut. близо ( ) ;
fileOut. близо ( ) ;
Система . навън . println ( „Данните са съхранени успешно!“ ) ;
ObjectInputStream файл = нов ObjectInputStream ( нов FileInputStream ( 'defaultfile.txt' ) ) ;
transientkey readData = ( преходен ключ ) файл. readObject ( ) ;
Система . навън . println ( readData. име + ' ' + readData. град + ' ' + readData. възраст + '' ) ;
файл. близо ( ) ;
} }
в „ основен “, разгледайте посочените по-долу стъпки:
- Създайте клас обект чрез „ нов “ ключова дума и „ преходен ключ() ”, съответно и подават посочените стойности като аргументи на конструктора.
- В следващата стъпка създайте „ FileOutputStream ” обект за записване на предадените данни в посочения файл .
- След това по същия начин създайте „ ObjectOutputStream ” обект за запис на обекти, които могат да бъдат прочетени от „ ObjectInputStream ”.
- Сега приложете „ writeObject() ” за запис на посочения обект от клас в „ ObjectOutputStream ”.
- За да прочистите и затворите потока, приложете „ флъш() ' и ' близо() ” методи, съответно.
- За да прочетете файла, създайте „ ObjectInputStream ” обект и натрупва записания файл като „ FileInputStream ” параметър за извличане на входните байтове от файл .
- И накрая, прочетете съдържанието на файла, като се позовавате на създадения клас обект ' преходен ключ ”.
- Алгоритъм: Стойностите, предадени в обекта, ще бъдат записани във файла, с изключение на стойността, разпределена като „ преходен ”. При четене на файла всички стойности ще бъдат извлечени, но преходната стойност ще се покаже като „ 0 ”.
Целият код
публичен клас преходен ключ инструменти Може да се сериализира {низ име ;
низ град ;
преходен вътр възраст ;
преходен ключ ( низ име, низ град, вътр възраст ) {
това . име = име ;
това . град = град ;
това . възраст = възраст ;
}
публичен статичен невалиден основен ( низ аргументи [ ] ) хвърля Изключение {
преходен ключов обект = нов преходен ключ ( 'Хари' , 'Лондон' , 22 ) ;
FileOutputStream fileOut = нов FileOutputStream ( 'defaultfile.txt' ) ;
ObjectOutputStream objOut = нов ObjectOutputStream ( fileOut ) ;
objOut. writeObject ( обект ) ;
objOut. флъш ( ) ;
objOut. близо ( ) ;
fileOut. близо ( ) ;
Система . навън . println ( „Данните са съхранени успешно!“ ) ;
ObjectInputStream файл = нов ObjectInputStream ( нов FileInputStream ( 'defaultfile.txt' ) ) ;
transientkey readData = ( преходен ключ ) файл. readObject ( ) ;
Система . навън . println ( readData. име + ' ' + readData. град + ' ' + readData. възраст + '' ) ;
файл. близо ( ) ;
} }
Изход
В горния резултат може да се подразбира, че тъй като „ възраст ” се разпределя като „ преходен “, следователно стойността му не е записана във файла и съответно извлечена, т.е., „ 0 ”.
Създаден файл
Създаденият файл се показва по-долу:
Това беше всичко относно използването на ключовата дума transient в Java.
Заключение
Ключовата дума Java transient се използва за въздържане от сериализация, така че ако определена променлива е присвоена като „ преходен “, не може да бъде записано във файла, и „ 0 ” се съхранява вместо това. Тази статия обсъжда използването и прилагането на „ преходен ” ключова дума в Java.