new
إنشاء الكائنات new
new تحجز ذاكرة لكائن جديد على الكومة وتستدعي باني الصنف لتهيئته.
new في Java تنشئ كائنًا جديدًا: تحجز ذاكرة على الكومة (heap) وتستدعي الباني (constructor) لتسمية وتهيئة الحقول. تُرجع مرجعًا (reference) للكائن الجديد. الذاكرة تُحرَّر تلقائيًا بواسطة garbage collector لا تحتاج delete يدويًا.
الصياغة
Type obj = new Type(args); Type[] arr = new Type[size];
📄 مثال
String name = new String("مرحبًا");
int[] nums = new int[5];
ArrayList<String> list = new ArrayList<>();
Point p = new Point(3, 4);
System.out.println(p.x());أهم النقاط
| العنصر | الوظيفة |
|---|---|
| new Type() | إنشاء كائن واحد على الكومة واستدعاء الباني |
| new Type[n] | إنشاء مصفوفة بأحجام محددة على الكومة |
| new Type<>() | إنشاء generic instance — <> تستنتج النوع تلقائيًا (diamond operator) |
💡 نصائح عملية
- استخدم diamond operator <> دائمًا: new ArrayList<>() بدل new ArrayList<String>()
- الكائنات تُستدعى وتستهلك ذاكرة حتى ي收拾ها garbage collector — لا داعي للقلق العادي
⚠️ أخطاء شائعة
- nxing نسيان new: String s = "مرحبًا" creates a string literal (different from new String())
- nxing new مع primitive types: int x = new 5; خطأ — الأنواع البدائية لا تحتاج new
خصائص ذات صلة
🎓 تريد فهم الصورة الكاملة خطوة بخطوة؟ ابدأ من مسار JAVA الكامل بالعربي.