JavaRush /مدونة جافا /Random-AR /المستوى 23. إجابات لأسئلة المقابلة حول موضوع المستوى
zor07
مستوى
Санкт-Петербург

المستوى 23. إجابات لأسئلة المقابلة حول موضوع المستوى

نشرت في المجموعة
المستوى 23. إجابات أسئلة المقابلة حول موضوع المستوى - 1
  1. ما هي الطبقات الداخلية؟

    • تنقسم الفئات المتداخلة إلى نوعين: ثابت وغير ثابت.
    • تسمى الفئات المتداخلة المعلنة على أنها ثابتة بالفئات المتداخلة الثابتة.
    • تسمى الفئات غير الثابتة المتداخلة بالفئات الداخلية.
  2. ما الذي تجمعه الطبقة الداخلية المجهولة؟

    إلى فئة داخلية غير ثابتة

  3. لماذا تستخدم الكلمة الأساسية finalعند إنشاء فئات مجهولة؟

    إذا تم تعريف فئة داخلية مجهولة وتحتاج إلى استخدام كائنات محددة خارج هذه الفئة الداخلية، فإن المترجم يتطلب إعلان المراجع التي تم تمريرها إليها غير قابلة للتغيير (نهائية). بدون مثل هذا الإعلان، سوف تتلقى خطأ عند ترجمة البرنامج.

  4. كيفية إنشاء كائن الطبقة الداخلية بشكل صحيح؟

    ترتبط الفئات الداخلية (غير الثابتة)، مثل المتغيرات والأساليب، بكائن من الفئة الخارجية. تتمتع الطبقات الداخلية أيضًا بإمكانية الوصول المباشر إلى حقول الطبقة الخارجية. لا يمكن أن تحتوي هذه الفئات على أساليب وحقول ثابتة. لا يمكن للفئات الداخلية أن توجد بدون مثيل للطبقة الخارجية. لإنشاء كائن:

    Outer outer = new Outer();
    Innter inner = outer.new Inner();
  5. كيفية إنشاء كائن من فئة متداخلة بشكل صحيح؟

    بناء الجملة لإنشاء كائن فئة متداخلة هو:

    OuterClass.StaticNestedClass nestedObject = new OuterClass.StaticNestedClass();
  6. هل من الممكن إنشاء أساليب/متغيرات ثابتة في فئة داخلية؟

    لا يمكن الإعلان عن الأساليب/المتغيرات الثابتة في فئة داخلية (وليست متداخلة).

    ترتبط الفئات الداخلية (غير الثابتة)، مثل المتغيرات والأساليب، بكائن من الفئة الخارجية. لا يمكن أن تحتوي هذه الفئات على أساليب وحقول ثابتة.

  7. اذكر أي ثلاث فئات داخلية؟

    1. private static class Holder- فئة متداخلة HashMapمن java.util.
    2. Mapتحتوي الواجهة interface Entry<K,V>على فئة متداخلة أخرى HashMapويتم تنفيذها في فئة أخرى static class Entry<K,V> implements Map.Entry<K,V>.
    3. private static class IntegerCacheفي الفصل Integer.
  8. كيف تحل الطبقات الداخلية مشكلة الميراث المتعدد في جافا؟

    لأن يُحظر الوراثة المتعددة للفئات في Java، ويتم حل هذه المشكلة بمساعدة الفئات الداخلية: في الفصل الذي نحتاجه، نعلن عن فصل داخلي ونرثه من الفصل المطلوب. مثال:

    class Tiger extends Cat
    {
    
     public void tigerRun()
     {
      .....
     }
    
    public void startTiger()
     {
      TigerThread thread = new TigerThread();
      thread.start();
     }
    
     class TigerThread extends Thread
     {
      public void run()
      {
       tigerRun();
      }
     }
    }
  9. ما هو الفرق بين الفئات المجهولة القائمة على الواجهة والفئات القائمة على الفصل؟

    الفئة المجهولة وفقًا لـ JLS 15.9.5 هي تعبير يتم فيه الجمع بين إعلان فئة جديدة وتهيئتها:

    • عند الإعلان عن فئة، سيتم إنشاء فئة جديدة مشتقة من الفئة المحددة عند استخدامها كأساس لفئة أخرى، أو تنفذ الواجهة عند استخدامها كأساس للواجهة.
    • أثناء التهيئة، سيتم إنشاء كائن جديد وسيتم إرجاع مرجع إليه: الفئة المجهولة ملموسة.

    وبالتالي، فإن الاختلاف الوحيد بين الفئات المجهولة القائمة على الواجهة والفئات هو عدد الأساليب المجردة التي يجب تنفيذها.

    Инициализации анонимного класса на основе интерфейса потребует реализации каждого метода, в то время How при инициализации анонимного класса на основе абстрактного/конкретного класса позволит изменить поведение за счет перегрузки методов и потребует реализации абстракных методов.

  10. Можно ли создать анонимный статический вложенный класс?

    Нет, статической становится только переменная, но не класс.

تعليقات
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION