Вопросы на зачет

  • Простые типы.
  • Разница между простыми и ссылочными типами.
  • Может ли метод изменить значения переданных в него параметров?
  • Логические и побитовые операторы.
  • Области видимости и локальные переменные.
  • Массивы. Хранения в массивах простых и ссылочных типов.
  • Классы. Объекты (экземпляры) классов. В чем между ними разница?
  • Поля. Методы.
  • private, protected, public, setter'ы, getter'ы.
  • Конструкторы.
  • Статические поля и методы. Зачем их придумали? Чем отличаются от обычных и почему?
  • this. Доступен ли this в статических методах? Почему?
  • Инкапсуляция и возможные способы ее нарушения.
  • Сокрытие реализации.
  • Какая имеется связь между набором полей класса и тем объектом из реальной жизни, который этот класс моделирует?
  • Какие поля и методы следует, а какие - не следует делать статическими?
  • Зачем придумали наследование? Две цели наследования (наследование интерфейса, наследование реализации).
  • Объект какого класса занимает больше памяти: базового или производного? Почему?
  • Порядок вызова конструкторов при наследовании. Использование ключевого слова super для указания, который из нескольких конструкторов вызвать.
  • Уровни доступа: private, protected, public, "пакетный" доступ.
  • Ключевое слово final и все его применения.
  • Применение наследования или композиции при создании новых классов на основе существующих. Как лучше?
  • Принцип подстановки Лисков. Пример "использования подтипа, не зная об этом" (c) Wikipedia.
  • Позднее связывание, динамическое связывание, полиморфное связывание, полиморфное поведение. Пример.
  • Интерфейсы. Зачем их придумали?
  • Абстрактные классы. Абстрактные методы. Зачем их придумали?
  • Наследование абстрактных классов. Реализация ("implements") интерфейсов в классах. Использование интерфейсных ссылок для полиморфной работы с объектами разных классов.
  • Реализация нескольких интерфейсов в одном классе. Реализация одного интерфейса в нескольких классах.
  • Наследование интерфейсов (interface extends interface).
  • Вложенные, внутренние (статические вложенные), локальные и безымянные классы.
  • В чем разница между статическими и нестатическими влож. классами?
  • В чем разница между локальными и нелокальными внутр. классами?
  • Статические вложенные классы в интерфейсах. Примеры использования.
  • Исключительные ситуации: зачем их придумали, как ими пользоваться.
  • Как рисовать диаграммы классов UML.
Comments