Khuyến mãi
Đại học Java
Học hỏi
Các khóa học
nhiệm vụ
Khảo sát & Trắc nghiệm
Trò chơi
Giúp đỡ
Lịch trình
Kỳ thực tập
Cộng đồng
người dùng
Diễn đàn
Trò chuyện
Bài viết
Câu chuyện thành công
Hoạt động
Nhận xét
đăng ký
chủ đề ánh sáng
Bài báo
  • Nhận xét
  • Về chúng tôi
  • CS50
Bắt đầu
Bắt đầu học
  • Bài viết
  • Tác giả
  • Tất cả các nhóm
  • Tất cả danh sách bài viết
JavaRush /Blog Java /Random-VI /Уровень 23. Ответы на вопросы к собеседованию по теме уро...
zor07
Mức độ
Санкт-Петербург
  • 28 February 2021
  • 312 views
  • 0 comments

Уровень 23. Ответы на вопросы к собеседованию по теме уровня

Xuất bản trong nhóm
Frontend-университет
Cấp độ 23. Trả lời câu hỏi phỏng vấn về chủ đề cấp độ - 1
  1. Какие бывают внутренние классы?

    • Вложенные классы делятся на два вида: статические и не статические.
    • Вложенные классы, объявленные How статические называются вложенными статическими (static nested classes).
    • Вложенные не статические классы называются внутренними (inner classes).
  2. Во что компorруется анонимный внутренний класс?

    Во внутренний не статический класс

  3. Зачем использовать ключевое слово final при создании анонимных классов?

    Если определяется анонимный внутренний класс и ему нужно при этом использовать an objectы, определенные вне этого внутреннего класса, компилятор требует, чтобы переданные на них ссылки объявлялись неизменными (final). Без такого объявления вы получите сообщение об ошибке при компиляции программы.

  4. Как правильно создать an object внутреннего класса?

    Внутренние (не статические) классы, How переменные и методы связаны с 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. Можно ли создавать статические методы/переменные во внутреннем классе?

    Статические методы/переменные объявлять во внутреннем классе (не вложенном) нельзя.

    Внутренние (не статические) классы, How переменные и методы связаны с an objectом внешнего класса. Такие классы не могут содержать в себе статические методы и поля.

  7. Назовите три любых внутренних класса?

    1. private static class Holder —вложенный класс HashMap из java.util.
    2. В интерфейсе Map есть interface Entry<K,V>, который опять же в HashMap и реализуется в другом вложенном классе static 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 представляют собой выражение, в котором объявление нового класса и его инициализация совмещены:

    • При объявлении класса будет создан новый класс, производный от указанного класса при использовании в качестве базы другого класса, or реализующий интерфейс при использовании в качестве базы интерфейса.
    • При инициализации будет создан новый an object и на него будет возвращения link: анонимный класс является конкретным.

    Таким образом, единственное отличие в анонимных классах, созданных на основе интерфейса и класса, заключается в количестве абстракных методов, которые необходимо реализовать.

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

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

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

Python-университет
Bình luận
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION
Học hỏi
  • Курси програмування
  • Sự đăng ký
  • Khóa học Java
  • Trợ giúp với Nhiệm vụ
  • định giá
  • dự án trò chơi
Cộng đồng
  • người dùng
  • Bài viết
  • Diễn đàn
  • Trò chuyện
  • Câu chuyện thành công
  • Hoạt động
Công ty
  • Về chúng tôi
  • Liên lạc
  • Nhận xét
  • Câu hỏi thường gặp
  • Ủng hộ
JavaRush JavaRush là một khóa học trực tuyến để học lập trình Java từ đầu. Khóa học này là một cách hoàn hảo để thành thạo Java cho người mới bắt đầu. Nó chứa hơn 1200 tác vụ với khả năng xác minh ngay lập tức và một phạm vi thiết yếu của lý thuyết cơ bản về Java. Để giúp bạn thành công trong học tập, chúng tôi đã triển khai một tập hợp các tính năng tạo động lực: câu đố, dự án viết mã, nội dung về cách học hiệu quả và sự nghiệp của nhà phát triển Java.
Theo chúng tôi
Lập trình viên được tạo ra, không được sinh ra © 2025 JavaRush
Tải ứng dụng
  • Google Play
  • App Store
Mastercard Visa
Lập trình viên được tạo ra, không được sinh ra © 2025 JavaRush