نحن نعلم بالفعل أنه إذا كان هناك كائنين من فئة لهما نفس المرجع، فإن لهما نفس الكيانات والوظائف، مثل:
Aone=newA();Atwo=one;
افترض أن الفئة A لديها متغير عضو يسمى x، إذا قمت بتنفيذ العمليات التالية:
two.x=100;
إذن قيمة one.x ستكون أيضًا 100.
على سبيل المثال آخر، المعلمة الخاصة بطريقة معينة هي من النوع People:
publicvoidf(Peoplep){px=200;}
إذا تم تمرير مرجع إلى كائن من الأشخاص، مثل zhang، إلى المعلمة P، عند استدعاء هذه الطريقة، فستكون قيمة zhang.x أيضًا 200 بعد تنفيذ الطريقة.
في بعض الأحيان تريد الحصول على "نسخة" من كائن ما، لن تؤدي التغييرات في كيان النسخة إلى حدوث تغييرات في كيان الكائن الأصلي، والعكس صحيح. تسمى هذه النسخة كائنًا مستنسخًا للكائن الأصلي أو مجرد نسخة .
من السهل الحصول على نسخة من كائن متسلسل باستخدام تدفقات الكائن، ما عليك سوى كتابة الكائن إلى الوجهة التي يشير إليها دفق إخراج الكائن، ثم استخدام تلك الوجهة كمصدر لتدفق إدخال الكائن، والذي يقرأ بعد ذلك من المصدر. يجب أن يكون الكائن الذي تم إرجاعه نسخة من الكائن الأصلي، أي أن دفق إدخال الكائن يحصل على نسخة من الكائن الحالي من خلال معلومات التسلسل الخاصة بالكائن. على سبيل المثال، الكائن xinfei في المثال الموجود في القسم السابق هو نسخة من الكائن changhong.
عندما يريد برنامج ما الحصول على نسخة أسرع من كائن ما، يمكنه استخدام دفق كائن لكتابة معلومات تسلسل الكائن في الذاكرة بدلاً من كتابتها في ملف على القرص. يستخدم دفق الكائنات دفق الصفيف باعتباره الدفق الأساسي لكتابة معلومات التسلسل للكائن في الذاكرة. على سبيل المثال، يمكننا أن نأخذ المثال في القسم السابق
FileOutputStreamfileOut=newFileOutputStream(file);ObjectOutputStreamobjectOut=newObjectOutputStream(fileOut);
و
FileInputStreamfileIn=newFileInputStream(file);ObjectInputStreamobjectIn=newObjectInputStream(fileIn);
التغيير إلى:
ByteArrayOutputStreamoutByte=newByteArrayOutputStream();ObjectOutputStreamobjectOut=newObjectOutputStream(outByte);
و
ByteArrayInputStreaminByte=newByteArrayInputStream(outByte.toByteArray());ObjectInputStreamobjectIn=newObjectInputStream(inByte);
فئة المكون في حزمة java.awt هي فئة تنفذ واجهة قابلة للتسلسل، المكون عبارة عن كائن متسلسل ، لذلك يمكن للبرنامج كتابة المكون في دفق الإخراج، ثم استخدم دفق الإدخال لقراءة نسخة منه عنصر.