JavaRush /Blog Java /Random-FR /Niveau 23. Réponses aux questions d'entretien sur le suje...
zor07
Niveau 31
Санкт-Петербург

Niveau 23. Réponses aux questions d'entretien sur le sujet du niveau

Publié dans le groupe Random-FR
Niveau 23. Réponses aux questions d'entretien sur le thème du niveau - 1
  1. Quelles sont les classes internes ?

    • Les classes imbriquées sont divisées en deux types : statiques et non statiques.
    • Les classes imbriquées déclarées comme statiques sont appelées classes imbriquées statiques.
    • Les classes non statiques imbriquées sont appelées classes internes.
  2. En quoi une classe interne anonyme se compile-t-elle ?

    Vers une classe interne non statique

  3. Pourquoi utiliser un mot-clé finallors de la création de classes anonymes ?

    Si une classe interne anonyme est définie et qu'elle doit utiliser des objets définis en dehors de cette classe interne, le compilateur exige que les références qui leur sont transmises soient déclarées immuables (finales). Sans une telle déclaration, vous recevrez une erreur lors de la compilation du programme.

  4. Comment créer correctement un objet de classe interne ?

    Les classes internes (non statiques), comme les variables et les méthodes, sont associées à un objet de la classe externe. Les classes internes ont également un accès direct aux champs de la classe externe. Ces classes ne peuvent pas contenir de méthodes et de champs statiques. Les classes internes ne peuvent pas exister sans une instance de la classe externe. Pour créer un objet :

    Outer outer = new Outer();
    Innter inner = outer.new Inner();
  5. Comment créer correctement un objet d'une classe imbriquée ?

    La syntaxe pour créer un objet de classe imbriqué est la suivante :

    OuterClass.StaticNestedClass nestedObject = new OuterClass.StaticNestedClass();
  6. Est-il possible de créer des méthodes/variables statiques dans une classe interne ?

    Les méthodes/variables statiques ne peuvent pas être déclarées dans une classe interne (pas imbriquée).

    Les classes internes (non statiques), comme les variables et les méthodes, sont associées à un objet de la classe externe. Ces classes ne peuvent pas contenir de méthodes et de champs statiques.

  7. Nommez trois classes internes ?

    1. private static class Holder-classe imbriquée HashMapde java.util.
    2. L'interface Mapa interface Entry<K,V>, qui est à nouveau présente HashMapet implémentée dans une autre classe imbriquée static class Entry<K,V> implements Map.Entry<K,V>.
    3. private static class IntegerCacheen classe Integer.
  8. Comment les classes internes résolvent-elles le problème de l’héritage multiple en Java ?

    Parce que L'héritage multiple de classes est interdit en Java, ce problème est résolu à l'aide de classes internes : dans la classe dont nous avons besoin, nous déclarons une classe interne et en héritons de la classe requise. Exemple:

    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. Quelle est la différence entre les classes anonymes basées sur l’interface et basées sur les classes ?

    Une classe anonyme selon JLS 15.9.5 est une expression dans laquelle sont combinées la déclaration d'une nouvelle classe et son initialisation :

    • Lors de la déclaration d'une classe, une nouvelle classe sera créée qui dérive de la classe spécifiée lorsqu'elle est utilisée comme base d'une autre classe, ou implémente l'interface lorsqu'elle est utilisée comme base d'une interface.
    • Lors de l'initialisation, un nouvel objet sera créé et une référence lui sera renvoyée : la classe anonyme est concrète.

    Ainsi, la seule différence entre les classes anonymes basées sur l’interface et celles basées sur les classes est le nombre de méthodes abstraites qui doivent être implémentées.

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

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

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

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