"Merhaba Amigo! Sana serileştirmeyle ilgili küçük bir detay daha anlatmak istiyorum."

Sınıfımızın bir miktar InputStream referansı içerdiğini varsayalım . O halde tefrika edilemez, değil mi?

"Doğru. Akışların serileştirilemeyeceğini kendin söyledin. Ayrıca serileştirilemeyen verileri olan bir nesneyi serileştiremezsin."

"Doğru. Aynen öyle. Ama ya sınıf, durumunda önemli bir rol oynamayan ve yine de sınıfın seri hale getirilebilir bir sınıf olarak kabul edilmesini engelleyen verileri depolarsa? Bir sınıfın gereksiz şeyleri depolayabileceğini boşverin. Bunu fırlatabilir. verileri herhangi bir zamanda ve hatta belki de öyledir - her zaman."

Bu durumlar için, Java'nın yaratıcıları geçici anahtar kelimeyi bulmuşlardır . Bu anahtar kelimeyi bir üye değişkenden önce yazarsak , serileştirme sırasında dikkate alınmaz. Durumu kaydedilmeyecek veya yeniden oluşturulmayacak. Sanki yokmuş gibi. Bu sadece az önce ele aldığımız durumlar için geçerlidir.

Önbelleğe almayı ve uçucu değiştiriciyi hatırlıyor musunuz? İstisnasız hiçbir kural yoktur .

İşte bu mutluluğun böyle bir örneği:

Serileştirme için görünmeyen bir değişkene sahip bir «cat» örneği:

kod
class Cat implements Serializable
{
 public String name;
 public int age;
 public int weight;

 transient public InputStream in = System.in;
}