
- •Вопрос 1. История языка программирования Java. Достоинства и недостатки языка. Основные особенности. Жизненный цикл программы на Java. Краткая теория: особенности и сферы применения Java
- •Особенности языка Java
- •Плюсы программирования на Java
- •Объектно-ориентированное программирование
- •Java — язык высокого уровня с простым синтаксисом и плавной кривой обучения
- •Стандарт для корпоративных вычислительных систем
- •Безопасность
- •Независимость от платформы («Написать один раз и использовать везде»)
- •Автоматическое управление памятью
- •Многопоточность
- •Стабильность и сообщество
- •Минусы программирования на Java
- •Платное коммерческое использование
- •Низкая производительность
- •Отсутствие нативного дизайна
- •Многословный и сложный код
- •Принципы ооп:
- •Вопрос 2 Примитивные типы Java. Область видимости и время жизни объектов.
- •Область видимости и время жизни переменных.
- •Область видимости и время жизни объектов
- •Вопрос 3. Классы и объекты. Структура класса. Конструкторы класса
- •Конструкторы
- •Вопрос 4. Модификаторы доступа
- •Инкапсуляция
- •Вопрос 5. Ключевое слово this
- •Вопрос 7. Операции. Литералы. Операторы Литералы
- •Операции
- •Переопределение методов
- •Вопрос 9. Полиморфизм. Перегрузка и переопределение.
- •Вопрос 10. Ключевое слово final. В java есть ключевое слово – final. Оно может применяться к классам, методам, переменным (в том числе аргументам методов).
- •Вопрос 11. Абстрактные классы и методы
- •Вопрос 12. Интерфейсы
- •Методы по умолчанию
- •Статические методы
- •Приватные методы
- •Статические вложенные классы
- •Внутренние классы
- •Локальные классы
- •Анонимные классы
- •Вопрос 14. Коллекции объектов в Java. P.S. Взято из лекции
- •Вопрос 15. Итераторы Взято из лекции
- •Вопрос 16. Интерфейсы Comparable, Comparator. Назначение, примеры
- •Вопрос 17. Обработка исключений. Поведение программы при возникновении исключения. Структура и использование блока перехвата исключений.
- •Поведение программы при появлении исключения
- •Обработка исключений. Структура и использование блока перехвата исключений.
- •Вопрос 18. Классы исключительных ситуаций. Блок finally
- •Классы исключительных ситуаций:
- •Блок finally
- •Вопрос 19. Генерация исключительных ситуаций. Создание собственных классов исключительных ситуаций. Исключительные ситуации и наследование Генерация исключительных ситуаций
- •Создание собственных классов исключительных ситуаций
- •Исключительные ситуации и наследование
- •Вопрос 20. Ввод/вывод (I/o) в Java
- •Иерархия InputStream
- •Иерархия Reader
- •Иерархия OutputStream
- •Иерархия Writer
- •Класс RandomAccessFile
- •Класс File
- •Вопрос 21. Сериализация объектов.
Вопрос 14. Коллекции объектов в Java. P.S. Взято из лекции
Классы коллекций располагаются в пакете java.util. Там содержится большое кол-во различных классов, при помощи которых мы можем взаимодействовать с коллекциями.
Что такое коллекции объектов. Это очень мощный и исключительно полезный механизм. Простейшей коллекцией является массив. Но массив имеет ряд недостатков. Один из самых существенных - размер массива фиксируется до начала его использования. Т.е. мы должны заранее знать или подсчитать, сколько нам потребуется элементов коллекции до начала работы с ней. Зачастую это неудобно, а в некоторых случаях — невозможно.
Самое главное свойство коллекций - неограниченность размера. Выделение необходимых ресурсов спрятано внутри соответствующего класса, и поэтому работа с коллекциями значительно облегчает и упрощает разработку приложений. Одним из наиболее используемых классов является ArrayList. Основное его преимущество - нет ограничения по размеру.
Коллекции в джава разбиты на 3 категории:
List (список);
Set (множество);
Map (отображение);
Эти интерфейсы составляют основу для построения классов коллекции Java.
Лист - список объектов. Объекты в список можно добавлять(add), изменять(set), удалять(remove) и извлекать(get). Также существует возможность организации прохода по списку при помощи итератора - вспомогательного объекта, который используется для прохода по коллекции объекта.
Set - множество неповторяющихся объектов. Те же возможности, что и у List, но объект может входить в множество только 1 раз.
Map - отображение, ассоциативный массив. В Map добавляется не 1 объект, а пара в виде ключ-значение. Добавление пары с уже существующим Map-ключом приводит к замене, а не к добавлению. Т.е. идентифицирующим полем является ключ и ему соответствует какое-то значение. Получается, что набор ключей - это Set, а сами значения - список.
Общее свойство - все эти коллекции работают с Object.java, базовым классом. Это значит, что можно добавлять в коллекцию любые объекты Java, так как от Object наследуются все классы, которые мы создаём. Также и при извлечении из коллекции какого-либо элемента получается обджект. Зачастую это приводит к необходимости преобразования полученного из коллекции объекта к нужному нам классу.
Вопрос 15. Итераторы Взято из лекции
Итератор - это вспомогательный объект, который используется для прохода по коллекции объектов. Они базируется на интерфейсе Iterator, определенном в пакете java.util, т.е. любой итератор имеет следующие методы: 1) boolean hasNext() - есть ли еще элементы в коллекции вообще, можно использовать в циклах;
2) Object Next() - получение следующего объекта в коллекции;
3) void remove() - удаляет последний выбранный элемент из коллекции;
Кроме интерфейса Iterator, существуют специализированные интерфейсы:
ListIterator - расширенный вариант итератора с доп возможностями при работе со списками;
Enumerator - нужен для совместимости с предыдущими версиями.
Интерфейс Collection содержит в себе метод, который возвращает объект типа Iterator: Iterator iterator(). Исходя из этого, это обязывает все классы коллекций создавать поддержку итераторов при помощи вложенных классов, которые удовлетворяют интерфейсу Iterator. ЧТО??????
Еще одна особенность интерфейса Iterator - это метод remove(). Этот метод позволяет удалить из коллекции последний извлеченный из нее элемент. В то же время в интерфейсе Collection также определен метод remove(Object obj) и removeAll(). Возникает вопрос: зачем, и как с этим работать. Идея в том, что удаление из коллекции объектов и вообще модификации коллекции параллельно с проходом по коллекции через итераторы запрещено. Т.е. когда мы проходим коллекцию через итератор мы методом remove() можем удалить последние извлеченные, а все остальные возможности изменения коллекции реализуются через интерфейс Collection. Если мы пытаемся изменить коллекцию на этапе ее прохода через итератор, возникнет исключение ConcurrentModificationException.
П.с. мне вообще это непонятно… ++++++