يتضمن البحث في هذه المقالة بشكل أساسي أمثلة ذات صلة من "النوع" الخالي في Java ، على النحو المفصل أدناه.
أولاً ، أعط سؤالًا بسيطًا يتعلق بالخلع ، والذي سيؤدي إلى مناقشتنا من NULL. في وقت لاحق ، سنفسر "النوع" الفارغ وفقًا لدليل اللغة الرسمي.
سؤال: هل يمكن للبرنامج التالي تشغيل بشكل صحيح؟
تحليل:
يجب أن يكون الإخراج: هاها
نظرًا لأنه يمكن إجبار NULL على أي نوع من أنواع الفئة ، فإن ((NULL) الفارغ) قانوني ، ولكن بعد إجبار NULL على التدوير ، يكون كائنًا غير صالح ، وقيمة إرجاعها خالية ، (سأشرحها لاحقًا)
طريقة هاها هي طريقة ثابتة. تستخدم الطريقة الثابتة الربط الثابت ولن يلقي استثناء مؤشر فارغ.
إذا تحولت وظيفة HAHA () إلى غير استاتيكي ، فسيتم طرح استثناء مؤشر فارغ.
لنأخذ مثالًا آخر:
هذا السؤال يشبه في الواقع ما سبق.
والنتيجة لا تزال تخرج "هاها"
يمكننا أن نرى في مواصفات لغة جافا
في القسم 4.1. أنواع الأنواع والقيم المذكورة:
هناك نوعان من الأنواع في لغة برمجة Java: الأنواع البدائية (§4.2) والأنواع المرجعية (§4.3). "
يكتب:
primitivetype
المرجعية
يوجد أيضًا نوع فارغ خاص ، نوع التعبير الفارغ (§3.10.7 ، § 15.8.1) ، الذي ليس له اسم.
نظرًا لأن نوع NULL ليس له اسم ، فمن المستحيل إعلان متغير من النوع الفارغ أو الإلقاء على النوع الفارغ.
المرجع الفارغ هو القيمة الوحيدة الممكنة للتعبير عن نوع فارغ.
يمكن أن يخضع المرجع الخالي دائمًا لتحويل مرجع توسيع إلى أي نوع مرجعي.
في الممارسة العملية ، يمكن للمبرمج أن يتجاهل النوع الفارغ ويتظاهر بأن Null هو مجرد حرفي خاص يمكن أن يكون من أي نوع مرجعي.
سأترجمها لـ:
هناك نوعان في لغة Java ، أحدهما هو النوع الأساسي والآخر هو النوع المرجعي .
هناك أيضًا نوع فارغ خاص ، أي نوع التعبير الفارغ ، الذي ليس له اسم.
نظرًا لأن النوع الفارغ لا يحتوي على اسم ، فمن المستحيل إعلان متغير من النوع الفارغ أو تحويله إلى نوع فارغ.
المرجع الفارغ هو القيمة الوحيدة الممكنة للتعبير الفارغ.
يمكن تحويل المراجع الخالية إلى أي نوع مرجعي.
في الواقع ، يمكن للمبرمجين تجاهل النوع الفارغ ويمكنهم الاعتقاد بأن NULL هو مجرد رمز خاص يمكن أن يصبح أي نوع مرجعي.
بعد قراءة هذا المقطع ، أدركت فجأة.
في 5.2. قسم تحويل المهمة:
"يمكن تعيين قيمة لنوع فارغ (المرجع الفارغ هو القيمة الوحيدة من هذا القبيل) إلى أي نوع مرجعي ، مما يؤدي إلى مرجع فارغ من هذا النوع"
يمكن تعيين قيمة مرجع نوع فارغ (NULL (NULL) هو القيمة الوحيدة لهذا النوع) إلى أي نوع وسيعود مرجعًا فارغًا إلى كائن من هذا النوع (في الواقع لاغية).
في 5.3. طريقة تحويل الاحتجاج ، هناك:
"قد يتم تحويل قيمة نوع فارغة (المرجع الفارغ هو القيمة الوحيدة من هذا القبيل) إلى أي نوع مرجعي."
على سبيل المثال ، " يمكن تحويل الفارغ إلى أي نوع مرجعي ."
من خلال دليل اللغة الرسمية ، لدي فهم عميق جدًا للنوع الفارغ.
إنه بعض المساعدة لبرمجةنا ومقابلات العمل المستقبلية.
أخيرًا ، آمل أن يواجه الجميع بعض المشاكل الغريبة. بالإضافة إلى Baidu ، حاول البحث على موقع Stack Overflow قدر الإمكان والتحقق من الدليل الرسمي.
لخص
ما سبق هو كل شيء عن فهم هذه المقالة المتعمقة لـ "الأنواع" الفارغة في جافا ، وآمل أن يكون ذلك مفيدًا للجميع. يمكن للأصدقاء المهتمين الاستمرار في الرجوع إلى الموضوعات الأخرى ذات الصلة على هذا الموقع. إذا كانت هناك أي أوجه قصور ، فيرجى ترك رسالة لإشارةها. شكرا لك يا أصدقائك لدعمكم لهذا الموقع!