JavaRush /Java блогу /Random-KY /23-деңгээл. Деңгээлдеги тема боюнча интервью суроолоруна ...
zor07
Деңгээл
Санкт-Петербург

23-деңгээл. Деңгээлдеги тема боюнча интервью суроолоруна жооптор

Группада жарыяланган
23-деңгээл. Деңгээлдин темасы боюнча интервью суроолоруна жооптор - 1
  1. Ички класстар кандай?

    • Уюшкан класстар эки түргө бөлүнөт: статикалык жана статикалык эмес.
    • Статикалык деп жарыяланган уя салынган класстар статикалык уя класстар деп аталат.
    • Уюшкан статикалык эмес класстар ички класстар деп аталат.
  2. Анонимдүү ички класс эмнени түзөт?

    Ички статикалык эмес класска

  3. Эмне үчүн finalанонимдүү класстарды түзүүдө ачкыч сөздү колдонуш керек?

    Эгерде анонимдүү ички класс аныкталса жана ал бул ички класстан тышкары аныкталган an objectтерди колдонуу керек болсо, компилятор аларга берилген шилтемелер өзгөрүлгүс (акыркы) деп жарыяланышын талап кылат. Мындай декларациясыз сиз программаны түзүүдө ката аласыз.

  4. Кантип туура ички класс an objectисин түзүү керек?

    Өзгөрмөлөр жана методдор сыяктуу ички (статикалык эмес) класстар тышкы класстын an objectи менен байланышкан. Ички класстар да сырткы класстын талааларына түз кире алышат. Мындай класстар статикалык ыкмаларды жана талааларды камтышы мүмкүн эмес. Ички класстар сырткы класстын инстанциясысыз болушу мүмкүн эмес. Объект түзүү үчүн:

    Outer outer = new Outer();
    Innter inner = outer.new Inner();
  5. Уяланган класстын an objectисин кантип туура түзүүгө болот?

    Кыстарылган класс an objectисин түзүү синтаксиси:

    OuterClass.StaticNestedClass nestedObject = new OuterClass.StaticNestedClass();
  6. Ички класста статикалык ыкмаларды/өзгөрмөлөрдү түзсө болобу?

    Статикалык ыкмаларды/өзгөрмөлөрдү ички класста жарыялоо мүмкүн эмес (уяланган класста эмес).

    Өзгөрмөлөр жана методдор сыяктуу ички (статикалык эмес) класстар тышкы класстын an objectи менен байланышкан. Мындай класстар статикалык ыкмаларды жана талааларды камтышы мүмкүн эмес.

  7. Үч ички классты атаңыз?

    1. private static class HolderHashMap-дан уяланган класс java.util.
    2. Интерфейс дагы бар Mapжана башка уя класста ишке ашырылат .interface Entry<K,V>HashMapstatic class Entry<K,V> implements Map.Entry<K,V>
    3. private static class IntegerCacheкласста Integer.
  8. Ички класстар Javaдагы бир нече тукум куучулук маселесин кантип чечет?

    Анткени 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 боюнча анонимдүү класс - бул жаңы класстын жарыяланышы жана анын инициализациясы айкалышкан туюнтма:

    • Классты жарыялоодо, башка класстын базасы катары колдонулганда көрсөтүлгөн класстан келип чыккан жаңы класс түзүлөт же интерфейстин базасы катары колдонулганда интерфейсти ишке ашырат.
    • Инициализация учурунда жаңы an object түзүлөт жана ага шилтеме кайтарылат: анонимдүү класс конкреттүү.

    Ошентип, интерфейске негизделген жана класска негизделген анонимдүү класстардагы бирден-бир айырма - бул ишке ашырылышы керек болгон абстракттуу методдордун саны.

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

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

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

Комментарийлер
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION