JavaRush /Java Blog /Random-ID /Level 23. Jawaban pertanyaan wawancara pada topik level
zor07
Level 31
Санкт-Петербург

Level 23. Jawaban pertanyaan wawancara pada topik level

Dipublikasikan di grup Random-ID
Level 23. Jawaban pertanyaan wawancara tentang topik level - 1
  1. Apa saja kelas dalam?

    • Kelas bersarang dibagi menjadi dua jenis: statis dan non-statis.
    • Kelas bersarang yang dinyatakan sebagai statis disebut kelas bersarang statis.
    • Kelas non-statis yang bersarang disebut kelas dalam.
  2. Untuk apa kelas dalam anonim dikompilasi?

    Ke kelas non-statis bagian dalam

  3. Mengapa menggunakan kata kunci finalsaat membuat kelas anonim?

    Jika kelas dalam anonim ditentukan dan perlu menggunakan objek yang ditentukan di luar kelas dalam ini, kompiler mengharuskan referensi yang diteruskan ke kelas tersebut dinyatakan tidak dapat diubah (final). Tanpa deklarasi seperti itu, Anda akan menerima kesalahan saat mengkompilasi program.

  4. Bagaimana cara membuat objek kelas dalam dengan benar?

    Kelas dalam (non-statis), seperti variabel dan metode, diasosiasikan dengan objek kelas luar. Kelas dalam juga mempunyai akses langsung ke bidang kelas luar. Kelas seperti itu tidak boleh berisi metode dan bidang statis. Kelas dalam tidak bisa ada tanpa turunan dari kelas luar. Untuk membuat objek:

    Outer outer = new Outer();
    Innter inner = outer.new Inner();
  5. Bagaimana cara membuat objek kelas bersarang dengan benar?

    Sintaks untuk membuat objek kelas bersarang adalah:

    OuterClass.StaticNestedClass nestedObject = new OuterClass.StaticNestedClass();
  6. Apakah mungkin membuat metode/variabel statis di kelas dalam?

    Metode/variabel statis tidak dapat dideklarasikan di kelas internal (bukan kelas bertingkat).

    Kelas dalam (non-statis), seperti variabel dan metode, diasosiasikan dengan objek kelas luar. Kelas seperti itu tidak boleh berisi metode dan bidang statis.

  7. Sebutkan tiga kelas dalam?

    1. private static class Holder—kelas bersarang HashMapdari java.util.
    2. Antarmukanya Mapsudah ada interface Entry<K,V>, yang lagi-lagi ada HashMapdan diimplementasikan di kelas bersarang lainnya static class Entry<K,V> implements Map.Entry<K,V>.
    3. private static class IntegerCachedi kelas Integer.
  8. Bagaimana kelas dalam memecahkan masalah pewarisan berganda di Java?

    Karena Pewarisan berganda kelas dilarang di Java, masalah ini diselesaikan dengan bantuan kelas internal: di kelas yang kita butuhkan, kita mendeklarasikan kelas internal dan mewarisinya dari kelas yang diperlukan. Contoh:

    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. Apa perbedaan antara kelas anonim berbasis antarmuka dan berbasis kelas?

    Kelas anonim menurut JLS 15.9.5 adalah ekspresi yang menggabungkan deklarasi kelas baru dan inisialisasinya:

    • Saat mendeklarasikan suatu kelas, akan dibuat kelas baru yang berasal dari kelas yang ditentukan bila digunakan sebagai basis kelas lain, atau mengimplementasikan antarmuka saat digunakan sebagai basis antarmuka.
    • Selama inisialisasi, objek baru akan dibuat dan referensi akan dikembalikan ke objek tersebut: kelas anonim bersifat konkret.

    Jadi, satu-satunya perbedaan antara kelas anonim berbasis antarmuka dan berbasis kelas adalah jumlah metode abstrak yang perlu diimplementasikan.

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

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

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

Komentar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION