🧠 Java Variables & Objects: Primitive, Reference, Instance, and Object
هذا الموضوع مهم جداً لأنه يوضح لك كيف جافا تتعامل مع البيانات في الذاكرة، سواء كانت بسيطة مثل الأرقام أو معقدة مثل الكائنات (Objects).
ᴀʙᴅᴜʟʙᴀʀɪ ᴀʟ-ᴍᴀᴍᴀʀɪ 👨🏻🏫
Tel: @abdu01010
WApp: https://wa.me/967783399063
—————————————————
عزيزي الطالب، عند التعامل مع جافا ستواجه هذه الأنواع الأساسية:
خلينا نشرحها بالتفصيل وبأسلوب مبسط.
📌 أولاً: Primitive Variables (المتغيرات الأولية)
هذه هي الأنواع البسيطة في جافا، تخزن القيمة نفسها داخل الذاكرة (stack).
أنواعها: int, double, char, boolean, …
✅ النسخ (نسب متغير لمتغير اخر) هنا يعمل نسخة مستقلة من القيمة:
📌 ثانياً: Reference Variables (المتغيرات المرجعية)
المتغير المرجعي لا يخزن الكائن نفسه، بل يخزن العنوان في الذاكرة (pointer غير مباشر للكائن في الـ Heap).
✅ هنا:
str1 يشير إلى كائن String يحتوي النص Java .
str2 يأخذ نفس العنوان، أي أن كلاهما يشيران لنفس الكائن.
لكن:
إذا غيرت str2 إلى "Python"، فلن يتغير str1 لأنه سيشير إلى كائن جديد.
السبب: الكائنات من نوع String في جافا Immutable (غير قابلة للتغيير).
💡 ملاحظة مهمة: في الكلاسات الأخرى (غير String)، إذا عدلت على الكائن من خلال مرجع واحد، سترى التغيير في المرجع الآخر لأنهما يشيران لنفس الكائن كما سنشرح تباعا في الـ Object.
📌 ثالثاً: Object (الكائن)
الكائن هو نسخة حقيقية (instance) من الكلاس.
عند استخدام الكلمة new يتم إنشاء كائن جديد في الذاكرة (Heap)، وتُرجع مرجع (Reference) يشير إليه.
Student s1 = new Student(); // إنشاء كائن جديد
✅ هنا:
Student هو class (مخطط).
s1 هو reference variable يشير إلى الكائن.
الكائن نفسه (object) يحتوي على instance variables (مثل name, age).
✅ هنا:
s3 = s1 ⇒ كلاهما يشيران لنفس الكائن.
أي تعديل على s3 سيظهر في s1 لأنه نفس الكائن.
📌 رابعا: Instance Variables (المتغيرات الخاصة بالكائن)
هي المتغيرات المعرفة داخل الكلاس ولكن خارج أي method.
كل كائن (Object) يتم إنشاؤه من الكلاس يحصل على نسخة مستقلة من هذه المتغيرات.
✅ كل طالب (s1, s2) له بياناته الخاصة.
💡 صورة ذهنية مبسطة:
————————————————————
كل الحقوق محفوظة لقناة
Java tutorial (https://t.me/java_tutorial0101)
Tel: @Java_tutorial0101
هذا الموضوع مهم جداً لأنه يوضح لك كيف جافا تتعامل مع البيانات في الذاكرة، سواء كانت بسيطة مثل الأرقام أو معقدة مثل الكائنات (Objects).
ᴀʙᴅᴜʟʙᴀʀɪ ᴀʟ-ᴍᴀᴍᴀʀɪ 👨🏻🏫
Tel: @abdu01010
WApp: https://wa.me/967783399063
—————————————————
عزيزي الطالب، عند التعامل مع جافا ستواجه هذه الأنواع الأساسية:
Primitive Variable
Reference Variable
Instance Variable
Object
خلينا نشرحها بالتفصيل وبأسلوب مبسط.
📌 أولاً: Primitive Variables (المتغيرات الأولية)
هذه هي الأنواع البسيطة في جافا، تخزن القيمة نفسها داخل الذاكرة (stack).
أنواعها: int, double, char, boolean, …
int age = 25;
double gpa = 3.9;
✅ النسخ (نسب متغير لمتغير اخر) هنا يعمل نسخة مستقلة من القيمة:
int x = 10;
int y = x;
y = 20;
System.out.println(x); // 10
📌 ثانياً: Reference Variables (المتغيرات المرجعية)
المتغير المرجعي لا يخزن الكائن نفسه، بل يخزن العنوان في الذاكرة (pointer غير مباشر للكائن في الـ Heap).
String str1 = "Java";
String str2 = str1;
✅ هنا:
str1 يشير إلى كائن String يحتوي النص Java .
str2 يأخذ نفس العنوان، أي أن كلاهما يشيران لنفس الكائن.
لكن:
إذا غيرت str2 إلى "Python"، فلن يتغير str1 لأنه سيشير إلى كائن جديد.
السبب: الكائنات من نوع String في جافا Immutable (غير قابلة للتغيير).
💡 ملاحظة مهمة: في الكلاسات الأخرى (غير String)، إذا عدلت على الكائن من خلال مرجع واحد، سترى التغيير في المرجع الآخر لأنهما يشيران لنفس الكائن كما سنشرح تباعا في الـ Object.
📌 ثالثاً: Object (الكائن)
الكائن هو نسخة حقيقية (instance) من الكلاس.
عند استخدام الكلمة new يتم إنشاء كائن جديد في الذاكرة (Heap)، وتُرجع مرجع (Reference) يشير إليه.
Student s1 = new Student(); // إنشاء كائن جديد
✅ هنا:
Student هو class (مخطط).
s1 هو reference variable يشير إلى الكائن.
الكائن نفسه (object) يحتوي على instance variables (مثل name, age).
Student s1 = new Student(); // إنشاء كائن جديد
s1.name = "Ali";
s1.age = 20;
Student s3 = s1; // s3 و s1 يشيران لنفس الكائن
s3.age = 30; // تغيير عبر s3
✅ هنا:
s3 = s1 ⇒ كلاهما يشيران لنفس الكائن.
أي تعديل على s3 سيظهر في s1 لأنه نفس الكائن.
📌 رابعا: Instance Variables (المتغيرات الخاصة بالكائن)
هي المتغيرات المعرفة داخل الكلاس ولكن خارج أي method.
كل كائن (Object) يتم إنشاؤه من الكلاس يحصل على نسخة مستقلة من هذه المتغيرات.
class Student {
String name; // instance variable
int age; // instance variable
}
Student s1 = new Student();
s1.name = "Ali";
s1.age = 20;
Student s2 = new Student();
s2.name = "Sara";
s2.age = 22;✅ كل طالب (s1, s2) له بياناته الخاصة.
💡 صورة ذهنية مبسطة:
تخيل أن الكلاس (Class) هو مخطط بيت.
Object هو البيت الحقيقي المبني من المخطط.
Instance Variables هي الغرف داخل البيت (محتوى الكائن).
Reference Variable هو العنوان على الخريطة الذي يدلنا على مكان البيت.
Primitive Variable مثل ورقة صغيرة تكتب عليها رقماً وتحفظها معك (مستقلة بذاتها).
————————————————————
كل الحقوق محفوظة لقناة
Java tutorial (https://t.me/java_tutorial0101)
Tel: @Java_tutorial0101
❤2
Java tutorial | دروس جافا 👨🏻🏫
🧠 Java Variables & Objects: Primitive, Reference, Instance, and Object هذا الموضوع مهم جداً لأنه يوضح لك كيف جافا تتعامل مع البيانات في الذاكرة، سواء كانت بسيطة مثل الأرقام أو معقدة مثل الكائنات (Objects). ᴀʙᴅᴜʟʙᴀʀɪ ᴀʟ-ᴍᴀᴍᴀʀɪ 👨🏻🏫 Tel: @abdu01010 WApp: …
برنامج بسيط في جافا يوضح الفرق بين Primitive, Reference, Instance Variables, و Object في مثال واحد.
ᴀʙᴅᴜʟʙᴀʀɪ ᴀʟ-ᴍᴀᴍᴀʀɪ 👨🏻🏫
Tel: @abdu01010
WApp: https://wa.me/967783399063
—————————————————
📌 شرح ما يحدث في البرنامج
Primitive Variable
x = 10،
y = x ⇒ نسخة مستقلة.
تغيير y لا يؤثر على x.
Reference Variable
str1 و str2 يشيران لنفس النص "Java".
عند إسناد "Python" لـ str2، صار يشير لكائن جديد مختلف.
str1 ظل يشير لـ "Java".
Object + Instance Variables
s1 و s2 كائنان مختلفان من Student.
لكل كائن نسخة خاصة من المتغيرات name و age.
Reference to same object
s3 = s1 ⇒ كلاهما يشيران لنفس الكائن.
أي تعديل على s3 سيظهر في s1 لأنه نفس الكائن.
————————————————————
اشترك في القناة لتعلم المزيد
Java tutorial (https://t.me/java_tutorial0101)
Tel: @Java_tutorial0101
ᴀʙᴅᴜʟʙᴀʀɪ ᴀʟ-ᴍᴀᴍᴀʀɪ 👨🏻🏫
Tel: @abdu01010
WApp: https://wa.me/967783399063
—————————————————
// تعريف كلاس Student
class Student {
// Instance Variables (لكل كائن نسخة خاصة)
String name;
int age;
}
public class VariablesDemo {
public static void main(String[] args) {
// 1️⃣ Primitive Variable
int x = 10;
int y = x; // نسخة مستقلة
y = 20;
System.out.println("Primitive:");
System.out.println("x = " + x); // 10
System.out.println("y = " + y); // 20
System.out.println("--------------------");
// 2️⃣ Reference Variable مع String
String str1 = "Java";
String str2 = str1; // يشيران لنفس الكائن
str2 = "Python"; // str2 يشير الآن لكائن جديد
System.out.println("Reference:");
System.out.println("str1 = " + str1); // Java
System.out.println("str2 = " + str2); // Python
System.out.println("--------------------");
// 3️⃣ Object + Instance Variables
Student s1 = new Student(); // إنشاء كائن جديد
s1.name = "Ali";
s1.age = 20;
Student s2 = new Student(); // إنشاء كائن ثاني
s2.name = "Sara";
s2.age = 22;
System.out.println("Objects & Instance Variables:");
System.out.println("s1 -> name: " + s1.name + ", age: " + s1.age);
System.out.println("s2 -> name: " + s2.name + ", age: " + s2.age);
System.out.println("--------------------");
// 4️⃣n توضيح أن المرجع يشير لنفس الكائن
Student s3 = s1; // s3 و s1 يشيران لنفس الكائن
s3.age = 30; // تغيير عبر s3
System.out.println("Reference to same object:");
System.out.println("s1 -> age: " + s1.age); // 30
System.out.println("s3 -> age: " + s3.age); // 30
}
}
📌 شرح ما يحدث في البرنامج
Primitive Variable
x = 10،
y = x ⇒ نسخة مستقلة.
تغيير y لا يؤثر على x.
Reference Variable
str1 و str2 يشيران لنفس النص "Java".
عند إسناد "Python" لـ str2، صار يشير لكائن جديد مختلف.
str1 ظل يشير لـ "Java".
Object + Instance Variables
s1 و s2 كائنان مختلفان من Student.
لكل كائن نسخة خاصة من المتغيرات name و age.
Reference to same object
s3 = s1 ⇒ كلاهما يشيران لنفس الكائن.
أي تعديل على s3 سيظهر في s1 لأنه نفس الكائن.
————————————————————
اشترك في القناة لتعلم المزيد
Java tutorial (https://t.me/java_tutorial0101)
Tel: @Java_tutorial0101
❤1
Java tutorial | دروس جافا 👨🏻🏫
برنامج بسيط في جافا يوضح الفرق بين Primitive, Reference, Instance Variables, و Object في مثال واحد. ᴀʙᴅᴜʟʙᴀʀɪ ᴀʟ-ᴍᴀᴍᴀʀɪ 👨🏻🏫 Tel: @abdu01010 WApp: https://wa.me/967783399063 ————————————————— // تعريف كلاس Student class Student { // Instance Variables…
Output:
Primitive:
x = 10
y = 20
--------------------
Reference:
str1 = Java
str2 = Python
--------------------
Objects & Instance Variables:
s1 -> name: Ali, age: 20
s2 -> name: Sara, age: 22
--------------------
Reference to same object:
s1 -> age: 30
s3 -> age: 30
اسعد الله ايامكم ووفقكم في حياتكم العلمية والعملية..
⭕️ بما ان القناة غير ربحية...
نحيطكم علما طلابنا الاعزاء بأننا في هذه الفترة نقدم خدمات حل الواجبات والتكاليف و المشاريع بمقابل يناسب اي طالب
طبعا نحل بأي لغة برمجة كانت واي شي متعلق بالبرمجة...
وذلك لدعمنا وتشجيعنا في الاستمرار في نشر المزيد وتوسيع خدماتنا بشكل مجاني
للتواصل :
Tele: @abdu01010
WhatsApp: https://wa.me/967783399063
————————————————————
ادارة قناة Java tutorial
Tel: @Java_tutorial0101
⭕️ بما ان القناة غير ربحية...
نحيطكم علما طلابنا الاعزاء بأننا في هذه الفترة نقدم خدمات حل الواجبات والتكاليف و المشاريع بمقابل يناسب اي طالب
طبعا نحل بأي لغة برمجة كانت واي شي متعلق بالبرمجة...
وذلك لدعمنا وتشجيعنا في الاستمرار في نشر المزيد وتوسيع خدماتنا بشكل مجاني
للتواصل :
Tele: @abdu01010
WhatsApp: https://wa.me/967783399063
————————————————————
ادارة قناة Java tutorial
Tel: @Java_tutorial0101
❤2👍2
نحيطكم علما اننا نقدم خدمات تصميم الهويات البصرية والاعلانات والشعارات فمن يحتاج من هذه الخدمات يقدر يتواصل معي كمان
للتواصل :
Tele: @abdu01010
WhatsApp: https://wa.me/967783399063
————————————————————
للتواصل :
Tele: @abdu01010
WhatsApp: https://wa.me/967783399063
————————————————————
❤3
تقدروا تنضموا للقروب و تستفيدوا من بعض في اي شي يخص برمجة بلغة جافا او غيرها...
https://t.me/java_tutorial0101_group
https://t.me/java_tutorial0101_group
👍2
Supermarket_simple.pdf
4.7 MB
واحد من المشاريع التي قمنا بعملها لاحد طلاب جامعة طيبة والقائمة تطول...😊✨
للتواصل :
Tele: @abdu01010
WhatsApp: https://wa.me/967783399063
للتواصل :
Tele: @abdu01010
WhatsApp: https://wa.me/967783399063
👍2🤩1
عندنا اقل الاسعار وافضل جودة فلا تتردد في الاستفادة من خدماتنا
للتواصل :
Tele: @abdu01010
WhatsApp: https://wa.me/967783399063
للتواصل :
Tele: @abdu01010
WhatsApp: https://wa.me/967783399063
🫡2👍1
نقوم ببناء مثل كذا مشاريع واكثر بأفضل الاسعار
وكمان نقدم شروحات للمشاريع اللي نصنعها بالفيديو ونشرح فيه الكود كامل بالتفصيل الممل
لطلب عمل مشاريع او واجبات تواصل معي على:
Tele: @abdu01010
WhatsApp: https://wa.me/967783399063
وكمان نقدم شروحات للمشاريع اللي نصنعها بالفيديو ونشرح فيه الكود كامل بالتفصيل الممل
لطلب عمل مشاريع او واجبات تواصل معي على:
Tele: @abdu01010
WhatsApp: https://wa.me/967783399063
❤3👍1
من المشاريع العملية التي افتخر بانجازها
نظام إدارة الأمانات – مكتب النور للأمانات
نظام إدارة الأمانات هو تطبيق يعمل على Android وiOS، تم تصميمه وتطويره خصيصًا لمكتب النور للأمانات لصاحبها مصعب محمد، بهدف تنظيم وإدارة أعمال الأمانات والشحن والتوصيل بشكل رقمي حديث.
يتيح النظام إدارة كاملة للأمانات من لحظة الاستلام وحتى التسليم، مع تسجيل بيانات المرسل والمستلم، متابعة الحالات، إدارة السائقين والخطوط، وربط كل عملية بنظام محاسبي دقيق يشمل الصندوق، العمولات، الأرصدة، والسندات المالية.
كما يدعم إصدار سندات وتقارير رسمية بصيغة PDF، ونظام رسائل SMS لإشعار العملاء والسائقين، ضمن واجهة سهلة وعصرية تناسب العمل اليومي.
تم تنفيذ النظام بما يلبي احتياجات مكتب النور بشكل خاص، مع قابلية التخصيص والتوسع حسب متطلبات أي مشروع كان.
📌 يمكنك طلب نظام مشابه أو مخصص حسب طبيعة عملك من خلال التواصل معنا
مطور البرمجيات: م. عبدالباري سلطان
📞 هاتف / واتساب: https://wa.me/967783399063
📧 البريد الإلكتروني: apparri0101@gmail.com
حلول برمجية عملية… مصممة لتناسب واقع العمل.
نظام إدارة الأمانات – مكتب النور للأمانات
نظام إدارة الأمانات هو تطبيق يعمل على Android وiOS، تم تصميمه وتطويره خصيصًا لمكتب النور للأمانات لصاحبها مصعب محمد، بهدف تنظيم وإدارة أعمال الأمانات والشحن والتوصيل بشكل رقمي حديث.
يتيح النظام إدارة كاملة للأمانات من لحظة الاستلام وحتى التسليم، مع تسجيل بيانات المرسل والمستلم، متابعة الحالات، إدارة السائقين والخطوط، وربط كل عملية بنظام محاسبي دقيق يشمل الصندوق، العمولات، الأرصدة، والسندات المالية.
كما يدعم إصدار سندات وتقارير رسمية بصيغة PDF، ونظام رسائل SMS لإشعار العملاء والسائقين، ضمن واجهة سهلة وعصرية تناسب العمل اليومي.
تم تنفيذ النظام بما يلبي احتياجات مكتب النور بشكل خاص، مع قابلية التخصيص والتوسع حسب متطلبات أي مشروع كان.
📌 يمكنك طلب نظام مشابه أو مخصص حسب طبيعة عملك من خلال التواصل معنا
مطور البرمجيات: م. عبدالباري سلطان
📞 هاتف / واتساب: https://wa.me/967783399063
📧 البريد الإلكتروني: apparri0101@gmail.com
حلول برمجية عملية… مصممة لتناسب واقع العمل.
❤5❤🔥1
دبس نفسك غير كذا مش هتعرف تبدأ
مفيش حاجة اسمها اللحظة المثالية للبدأ
مفيش حاجة اسمها اللحظة المثالية للبدأ
👌8❤2
تخيّل تترجم كتاب كامل… بدون ما بتأثر التنسيق في الملف
هذا مش كلام تسويق،
هذا اللي يقدمه X-Doc AI 👀
🔥 ترجمة ملفات كاملة مرة واحدة
🌍 أكثر من 100 لغة (العربي موجود وبقوة)
🖼️ الصور، الجداول، والتنسيق؟ محفوظة 100%
📚 عندك مصطلحات خاصة؟ أضف قاموسك وخليه يشتغل عليك
الأداة هذي لو بيدك محتوى ثقيل
📘 كتب
📄 أبحاث
📑 ملفات شغل
فأنت حرفيًا وفّرت وقت
🔗 جرّبه بنفسك
https://x-doc.ai
————————————————————
اشترك في القناة لتعلم المزيد
Java tutorial (https://t.me/java_tutorial0101)
Tel: @Java_tutorial0101
هذا مش كلام تسويق،
هذا اللي يقدمه X-Doc AI 👀
🔥 ترجمة ملفات كاملة مرة واحدة
🌍 أكثر من 100 لغة (العربي موجود وبقوة)
🖼️ الصور، الجداول، والتنسيق؟ محفوظة 100%
📚 عندك مصطلحات خاصة؟ أضف قاموسك وخليه يشتغل عليك
الأداة هذي لو بيدك محتوى ثقيل
📘 كتب
📄 أبحاث
📑 ملفات شغل
فأنت حرفيًا وفّرت وقت
🔗 جرّبه بنفسك
https://x-doc.ai
————————————————————
اشترك في القناة لتعلم المزيد
Java tutorial (https://t.me/java_tutorial0101)
Tel: @Java_tutorial0101
❤2
Java tutorial | دروس جافا 👨🏻🏫
تخيّل تترجم كتاب كامل… بدون ما بتأثر التنسيق في الملف هذا مش كلام تسويق، هذا اللي يقدمه X-Doc AI 👀 🔥 ترجمة ملفات كاملة مرة واحدة 🌍 أكثر من 100 لغة (العربي موجود وبقوة) 🖼️ الصور، الجداول، والتنسيق؟ محفوظة 100% 📚 عندك مصطلحات خاصة؟ أضف قاموسك وخليه يشتغل…
07 Memory Managements-Word to PDF file-Arabic.pdf
1.4 MB
هذا الملف بعد الترجمه
اي حد محتاج شغل تطبيقات موبايل سواء لمشاريع حقيقية للسوق او مشاريع تخرج يقدر يتواصل معي وابشروا بشغل يرفع راسكم ويبيض وجوهكم واسعار تطيب خاطركم...
واتساب:
https://wa.me/967783399063
📧 البريد الإلكتروني:
abdulbarisultan111@gmail.com
تلجرام:
@abdu01010
واتساب:
https://wa.me/967783399063
📧 البريد الإلكتروني:
abdulbarisultan111@gmail.com
تلجرام:
@abdu01010
👍3🤝1🫡1
حاملات الطائرات الحربية مش بتمشي بالوقود بس بل بـ Ada وC++ وPython.
إجمالاً، حاملات الطائرات من أكثر الأنظمة تعقيداً برمجياً في العالم فيها 4 طبقات رئيسية:
الطيران والقتال: Ada وC++ هنا هم الملوك، موثوقيتهم عالية جداً ومستخدمين في كل نظام حرج.
الملاحة والرادار : Java للواجهات، Assembly للتحكم المباشر في الأجهزة، وPython بدأ يدخل للذكاء الاصطناعي والتحليل.
الأنظمة الهندسية : MATLAB وVHDL للمحاكاة والـ FPGAs، خصوصاً في أنظمة الدفع النووي.
الإدارة والاتصالات : C# في الأنظمة الأمريكية الحديثة، وCOBOL لا يزال موجوداً في الأنظمة اللوجستية القديمة 😄، وRust بيدخل تدريجياً كبديل أكثر أماناً.
شفت كم مليون سطر برمجي بدها ؟ موجود بالصور 🥲
————————————————————
اشترك في القناة لتعلم المزيد
Java tutorial (https://t.me/java_tutorial0101)
Tel: @Java_tutorial0101
إجمالاً، حاملات الطائرات من أكثر الأنظمة تعقيداً برمجياً في العالم فيها 4 طبقات رئيسية:
الطيران والقتال: Ada وC++ هنا هم الملوك، موثوقيتهم عالية جداً ومستخدمين في كل نظام حرج.
الملاحة والرادار : Java للواجهات، Assembly للتحكم المباشر في الأجهزة، وPython بدأ يدخل للذكاء الاصطناعي والتحليل.
الأنظمة الهندسية : MATLAB وVHDL للمحاكاة والـ FPGAs، خصوصاً في أنظمة الدفع النووي.
الإدارة والاتصالات : C# في الأنظمة الأمريكية الحديثة، وCOBOL لا يزال موجوداً في الأنظمة اللوجستية القديمة 😄، وRust بيدخل تدريجياً كبديل أكثر أماناً.
شفت كم مليون سطر برمجي بدها ؟ موجود بالصور 🥲
————————————————————
اشترك في القناة لتعلم المزيد
Java tutorial (https://t.me/java_tutorial0101)
Tel: @Java_tutorial0101
🔥3❤1
طلاب جامعة عبدالعزيز وغيرها
اذا احتجتم حد يشتغل لكم مشاريع البرمجة انا موجود في الخدمه ومالكم الا افضل الاسعار✨
واتس اب:
https://wa.me/967783399063
تلجرام:
@abdu01010
اذا احتجتم حد يشتغل لكم مشاريع البرمجة انا موجود في الخدمه ومالكم الا افضل الاسعار✨
واتس اب:
https://wa.me/967783399063
تلجرام:
@abdu01010
👍3❤1