توفر Java نوعين من
أنواع مراجع جافا
هناك الأنواع الخمسة التالية من أنواع المراجع في Java:
جافا فارغة
نوع مرجع | وصف |
---|---|
فصل | إنها مجموعة من التعليمات. ويصف محتوى الكائن. |
مجموعة مصفوفة | يوفر بنية بيانات ذات حجم ثابت تقوم بتخزين العناصر من نفس النوع. |
الشروح | فهو يوفر طريقة لربط البيانات الوصفية بعناصر البرنامج. |
واجهه المستخدم | يتم تنفيذه بواسطة فئات Java. |
تعداد | إنه نوع خاص من الفئة الآمنة من حيث النوع. كل عنصر داخل التعداد هو مثيل لذلك التعداد. |
المرجع مقابل أنواع البيانات البدائية
نوع مرجع | النوع البدائي |
---|---|
لم يتم تعريفه مسبقًا باستثناء السلسلة. | تم تعريفه مسبقًا في Java. |
يبدأ كل نوع المرجع بحرف كبير. | كل الأنواع البدائية تبدأ بحرف صغير. |
الأنواع غير البدائية لها نفس الحجم. | يعتمد حجم النوع البدائي على نوع البيانات. |
يتم استخدامه لاستدعاء أو استدعاء الأساليب. | لا يمكننا استدعاء الطريقة بنوع بدائي. |
يمكن أن تكون فارغة. | لا يمكن أن تكون فارغة. دائما لها قيمة. |
من أمثلة أنواع البيانات المرجعية الفئة، والمصفوفات، والسلسلة، والواجهة، وما إلى ذلك. | من أمثلة أنواع البيانات البدائية int وfloat وdouble وBoolean وlong وما إلى ذلك. |
يخصص JVM 8 بايت لكل متغير مرجعي افتراضيًا. | حجمها يعتمد على نوع البيانات. |
مثال : العرض التوضيحي d1؛ | مثال : العدد الصحيح = 78؛ |
تخصيص الذاكرة وجمع البيانات المهملة
في جافا، كلمة رئيسية جديدة يستخدم لإنشاء مثال الطبقة. وبعبارة أخرى، فإنه يقوم بإنشاء مثيل للفصل الدراسي عن طريق التخصيص ذاكرة لكائن جديد وإرجاع إشارة إلى تلك الذاكرة. تشغل الكائنات الذاكرة في مساحة كومة Java. يمكننا أيضًا استخدام الكلمة الأساسية الجديدة لإنشاء ملف كائن المصفوفة .
ClassName objectName = new ClassName();
إذا لم يكن هناك أي مراجع لكائن ما، فيمكن استعادة الذاكرة المستخدمة بواسطة هذا الكائن أثناء عملية تجميع البيانات المهملة.
التحويل بين النوع البدائي والنوع المرجعي
يسمى تحويل النوع البدائي إلى النوع المرجعي com.autoboxing ويسمى تحويل النوع المرجعي إلى النوع البدائي الإخراج من العلبة .
مقارنة النوع المرجعي
يمكننا أيضًا مقارنة أنواع المراجع في Java. توفر Java طريقتين لمقارنة أنواع المراجع:
باستخدام عامل يساوي (==).
يقارن مواقع الذاكرة للكائنات. إذا كان عنوان الذاكرة (المرجع) لكلا الكائنين هو نفسه، فإن الكائنين متساويان. لاحظ أنه لا يقارن محتويات الكائن. على سبيل المثال:
Demo d1 = new Demo('Atlanta'); //creating a reference of Demo class Demo d2 = d1; //assigning the reference d1 into d2 if(d1=d2) //comparing reference
باستخدام طريقة String.equals()
الطريقة تابعة ل خيط فصل. إنه يتجاوز يساوي () طريقة هدف فصل . ويستخدم أيضًا عامل التشغيل المتساوي (==) لمقارنة نوع المرجع. على سبيل المثال، خذ بعين الاعتبار مقتطف التعليمات البرمجية التالي:
vba
String str1='JAVA'; String str2='JAVA'; String str3='java'; System.out.println(str1.equals(str2)); //returns true because content and case is same System.out.println(str1.equals(str3)); //returns false because case is not same
نسخ نوع المرجع
هناك احتمالان عندما نقوم بنسخ أنواع المراجع، إما عمل نسخة من المرجع إلى كائن ما أو عمل نسخة فعلية (إنشاء نسخة جديدة) من الكائن.
في المثال التالي، قمنا بتعيين مرجع للكائن. إذا أجرينا أي تغييرات على الكائن، فإنه سيعكس المرجع أيضًا والعكس صحيح.
Sum s1 = new Sum(); Sum s2= s1;