JavaRush /Java Blog /Random-TL /Level 23. Mga sagot sa mga tanong sa pakikipanayam sa ant...
zor07
Antas
Санкт-Петербург

Level 23. Mga sagot sa mga tanong sa pakikipanayam sa antas ng paksa

Nai-publish sa grupo
Уровень 23. Ответы на вопросы к собеседованию по теме уровня - 1
  1. Ano ang mga panloob na klase?

    • Ang mga nested na klase ay nahahati sa dalawang uri: static at non-static.
    • Ang mga nested na klase na idineklara bilang static ay tinatawag na mga static na nested na klase.
    • Ang mga nested non-static na klase ay tinatawag na mga panloob na klase.
  2. Ano ang ginagawa ng isang anonymous na inner class?

    Sa isang panloob na hindi static na klase

  3. Bakit gagamit ng keyword finalkapag gumagawa ng mga hindi kilalang klase?

    Kung tinukoy ang isang anonymous na panloob na klase at kailangan nitong gumamit ng mga bagay na tinukoy sa labas ng panloob na klase na ito, hinihiling ng compiler na ang mga reference na ipinasa sa kanila ay ideklarang hindi nababago (pangwakas). Kung walang ganoong deklarasyon, makakatanggap ka ng error kapag kino-compile ang program.

  4. Paano maayos na lumikha ng isang bagay sa loob ng klase?

    Ang mga panloob (hindi static) na klase, tulad ng mga variable at pamamaraan, ay nauugnay sa isang bagay ng panlabas na klase. Ang mga panloob na klase ay mayroon ding direktang pag-access sa mga larangan ng panlabas na klase. Ang mga ganitong klase ay hindi maaaring maglaman ng mga static na pamamaraan at field. Ang mga panloob na klase ay hindi maaaring umiral nang walang isang halimbawa ng panlabas. Upang lumikha ng isang bagay:

    Outer outer = new Outer();
    Innter inner = outer.new Inner();
  5. Paano gumawa ng tama ng isang bagay ng isang nested na klase?

    Ang syntax para sa paglikha ng isang nested class object ay:

    OuterClass.StaticNestedClass nestedObject = new OuterClass.StaticNestedClass();
  6. Posible bang lumikha ng mga static na pamamaraan/variable sa isang panloob na klase?

    Ang mga static na pamamaraan/variable ay hindi maaaring ideklara sa isang panloob na klase (hindi isang nested).

    Ang mga panloob (hindi static) na klase, tulad ng mga variable at pamamaraan, ay nauugnay sa isang bagay ng panlabas na klase. Ang mga ganitong klase ay hindi maaaring maglaman ng mga static na pamamaraan at field.

  7. Pangalanan ang anumang tatlong panloob na klase?

    1. private static class Holder—nakapugad na klase HashMapmula sa java.util.
    2. Ang interface Mapay may interface Entry<K,V>, na kung saan ay muli sa HashMapat ipinatupad sa isa pang nested klase static class Entry<K,V> implements Map.Entry<K,V>.
    3. private static class IntegerCachesa klase Integer.
  8. Paano malulutas ng mga panloob na klase ang problema ng maramihang pamana sa Java?

    kasi Ang maramihang pamana ng mga klase sa Java ay ipinagbabawal; ang problemang ito ay nalutas sa tulong ng mga panloob na klase: sa klase na kailangan namin, nagdedeklara kami ng isang panloob na klase at minana ito mula sa kinakailangang klase. Halimbawa:

    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. Ano ang pagkakaiba sa pagitan ng mga hindi kilalang klase na nakabatay sa interface at nakabatay sa klase?

    Ang isang anonymous na klase ayon sa JLS 15.9.5 ay isang expression kung saan ang deklarasyon ng isang bagong klase at ang pagsisimula nito ay pinagsama:

    • Kapag nagdedeklara ng klase, gagawa ng bagong klase na nagmula sa tinukoy na klase kapag ginamit bilang base ng isa pang klase, o nagpapatupad ng interface kapag ginamit bilang base ng isang interface.
    • Sa panahon ng pagsisimula, isang bagong bagay ang gagawin at isang sanggunian ay ibabalik dito: ang anonymous na klase ay kongkreto.

    Kaya, ang tanging pagkakaiba sa mga hindi kilalang klase na nakabatay sa interface at nakabatay sa klase ay ang bilang ng mga abstract na pamamaraan na kailangang ipatupad.

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

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

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

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