JavaRush /Blog Java /Random-MS /Aras 23. Jawapan kepada soalan temu bual mengenai topik a...
zor07
Tahap
Санкт-Петербург

Aras 23. Jawapan kepada soalan temu bual mengenai topik aras

Diterbitkan dalam kumpulan
Tahap 23. Jawapan kepada soalan temu bual mengenai topik tahap - 1
  1. Apakah kelas dalaman?

    • Kelas bersarang dibahagikan kepada dua jenis: statik dan bukan statik.
    • Kelas bersarang yang diisytiharkan sebagai statik dipanggil kelas bersarang statik.
    • Kelas bukan statik bersarang dipanggil kelas dalam.
  2. Untuk apa kelas dalaman tanpa nama dikompilasi?

    Kepada kelas bukan statik dalaman

  3. Mengapa menggunakan kata kunci finalsemasa membuat kelas tanpa nama?

    Jika kelas dalam tanpa nama ditakrifkan dan ia perlu menggunakan objek yang ditakrifkan di luar kelas dalam ini, pengkompil memerlukan rujukan yang dihantar kepada mereka diisytiharkan tidak boleh diubah (muktamad). Tanpa pengisytiharan sedemikian, anda akan menerima ralat semasa menyusun atur cara.

  4. Bagaimana cara membuat objek kelas dalam dengan betul?

    Kelas dalam (bukan statik), seperti pembolehubah dan kaedah, dikaitkan dengan objek kelas luar. Kelas dalaman juga mempunyai akses terus ke medan kelas luar. Kelas sedemikian tidak boleh mengandungi kaedah dan medan statik. Kelas dalaman tidak boleh wujud tanpa contoh kelas luar. Untuk mencipta objek:

    Outer outer = new Outer();
    Innter inner = outer.new Inner();
  5. Bagaimana untuk mencipta objek kelas bersarang dengan betul?

    Sintaks untuk mencipta objek kelas bersarang ialah:

    OuterClass.StaticNestedClass nestedObject = new OuterClass.StaticNestedClass();
  6. Adakah mungkin untuk mencipta kaedah/pembolehubah statik dalam kelas dalaman?

    Kaedah/pembolehubah statik tidak boleh diisytiharkan dalam kelas dalaman (bukan kelas bersarang).

    Kelas dalam (bukan statik), seperti pembolehubah dan kaedah, dikaitkan dengan objek kelas luar. Kelas sedemikian tidak boleh mengandungi kaedah dan medan statik.

  7. Namakan mana-mana tiga kelas dalaman?

    1. private static class Holder—kelas bersarang HashMapdaripada java.util.
    2. Antara muka Mapmempunyai interface Entry<K,V>, yang sekali lagi masuk HashMapdan dilaksanakan dalam kelas bersarang lain static class Entry<K,V> implements Map.Entry<K,V>.
    3. private static class IntegerCachedi dalam kelas Integer.
  8. Bagaimanakah kelas dalaman menyelesaikan masalah warisan berbilang di Jawa?

    Kerana Pewarisan berbilang kelas di Jawa adalah dilarang; masalah ini diselesaikan dengan bantuan kelas dalaman: dalam kelas yang kami perlukan, kami mengisytiharkan kelas dalaman dan mewarisinya daripada 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. Apakah perbezaan antara kelas tanpa nama berasaskan antara muka dan berasaskan kelas?

    Kelas tanpa nama menurut JLS 15.9.5 ialah ungkapan di mana pengisytiharan kelas baharu dan permulaannya digabungkan:

    • Apabila mengisytiharkan kelas, kelas baharu akan dibuat yang terbit daripada kelas yang ditentukan apabila digunakan sebagai asas kelas lain, atau melaksanakan antara muka apabila digunakan sebagai asas antara muka.
    • Semasa permulaan, objek baharu akan dibuat dan rujukan akan dikembalikan kepadanya: kelas tanpa nama adalah konkrit.

    Oleh itu, satu-satunya perbezaan dalam kelas tanpa nama berasaskan antara muka dan berasaskan kelas ialah bilangan kaedah abstrak yang perlu dilaksanakan.

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

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

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

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