- •724 Содержание
- •Глава 6. Интерфейсы и внутренние классы 139
- •У казания и ответы
- •Вопрос 3.2.
- •Вопрос 8.2.
- •Вопрос 8.3.
- •Вопрос 14.2.
- •Вопрос 21.5.
- •Ч асть 1. Основы языка java
- •Глава 1 введение в классы и объекты Основные понятия ооп
- •Язык Java
- •Нововведения версий 5.0 и 6.0
- •Простое приложение
- •Классы и объекты
- •Сравнение объектов
- •Консоль
- •Простой апплет
- •Задания к главе 1 Вариант a
- •Вариант b
- •Тестовые задания к главе 1
- •Вопрос 1.5.
- •Г лава 2 типы данных и операторы
- •Базовые типы данных и литералы
- •Документирование кода
- •Операторы
- •Классы-оболочки
- •Операторы управления
- •Массивы
- •Класс Маth
- •Управление приложением
- •Задания к главе 2 Вариант a
- •Вариант в
- •Тестовые задания к главе 2
- •Переменные класса и константы
- •Ограничение доступа
- •Конструкторы
- •Статические методы и поля
- •Модификатор final
- •Абстрактные методы
- •Модификатор native
- •Модификатор synchronized
- •Логические блоки
- •Перегрузка методов
- •Параметризованные классы
- •Параметризованные методы
- •Методы с переменным числом параметров
- •Перечисления
- •1 : Fpmi : Балаганов
- •Аннотации
- •Задания к главе 3 Вариант a
- •Вариант b
- •Тестовые задания к главе 3
- •Использование final
- •Использование super и this
- •Переопределение методов и полиморфизм
- •Методы подставки
- •Полиморфизм и расширяемость
- •Статические методы и полиморфизм
- •Абстракция и абстрактные классы
- •Класс Object
- •Клонирование объектов
- •“Сборка мусора” и освобождение ресурсов
- •Задания к главе 4 Вариант a
- •Вариант в
- •Тестовые задания к главе 4
- •Вопрос 4.7.
- •Г лава 5 проектирование классов Шаблоны проектирования grasp
- •Шаблон Expert
- •Шаблон Creator
- •Шаблон Low Coupling
- •Шаблон High Cohesion
- •Шаблон Controller
- •Шаблоны проектирования GoF
- •Порождающие шаблоны
- •К порождающим шаблонам относятся:
- •Шаблон Factory
- •Шаблон AbstractFactory
- •Шаблон Builder
- •Шаблон Singleton
- •Структурные шаблоны
- •К структурным шаблонам относятся:
- •Шаблон Bridge
- •Шаблон Decorator
- •Шаблоны поведения
- •К шаблонам поведения относятся:
- •Шаблон Command
- •Шаблон Strategy
- •Шаблон Observer
- •Тестовые задания к главе 5
- •Статический импорт
- •Внутренние классы
- •Внутренние (inner) классы
- •Вложенные (nested) классы
- •Анонимные (anonymous) классы
- •Задания к главе 6 Вариант а
- •Вариант b
- •Вариант c
- •Тестовые задания к главе 6
- •Вопрос 6.5.
- •Класс String
- •Классы StringBuilder и StringBuffer
- •Форматирование строк
- •Лексический анализ текста
- •Регулярные выражения
- •Интернационализация текста
- •Интернационализация чисел
- •Интернационализация дат
- •3 Апрель 2006 г.
- •Задания к главе 7 Вариант a
- •Вариант b
- •Тестовые задания к главе 7
- •Оператор throw
- •Ключевое слово finally
- •Собственные исключения
- •Наследование и исключения
- •Отладочный механизм assertion
- •Задания к главе 8
- •Байтовые и символьные потоки ввода/вывода
- •Предопределенные потоки
- •Сериализация объектов
- •Консоль
- •Класс Scanner
- •Архивация
- •Задания к главе 9 Вариант a
- •Вариант b
- •Вариант с
- •Тестовые задания к главе 9
- •Множества
- •Карты отображений
- •14El - найден по ключу '12'
- •Унаследованные коллекции
- •Класс Collections
- •Класс Arrays
- •Задания к главе 10 Вариант a
- •Вариант b
- •Тестовые задания к главе 10
- •Апплеты
- •Задания к главе 11
- •Тестовые задания к главе 11
- •Классы-адаптеры
- •Задания к главе 12
- •Тестовые задания к главе 12 Вопрос 12.1.
- •Вопрос 12.2.
- •Вопрос 12.3.
- •Вопрос 12.4.
- •Вопрос 12.5.
- •Г лава 13 элементы компоновки и управления
- •Менеджеры размещения
- •Элементы управления
- •Визуальные компоненты JavaBeans
- •Задания к главе 13 Вариант а
- •Вариант b
- •Жизненный цикл потока
- •Управление приоритетами и группы потоков
- •Управление потоками
- •Потоки-демоны
- •Потоки в графических приложениях
- •Методы synchronized
- •Инструкция synchronized
- •Состояния потока
- •Потоки в j2se 5
- •Задания к главе 14 Вариант а
- •Вариант b
- •Тестовые задания к главе 14
- •Вопрос 14.1.
- •Вопрос 14.2.
- •Вопрос 14.3.
- •Вопрос 14.4.
- •Вопрос 14.5.
- •Г лава 15 сетевые программы Поддержка Интернет
- •Сокетные соединения по протоколу tcp/ip
- •Многопоточность
- •Датаграммы и протокол udp
- •Задания к главе 15 Вариант а
- •Вариант b
- •Древовидная модель
- •Элементы таблицы стилей
- •Задания к главе 16 Вариант а
- •Тестовые задания к главе 16
- •Запуск контейнера сервлетов и размещение проекта
- •Первая jsp
- •Взаимодействие сервлета и jsp
- •Задания к главе 17 Вариант а
- •Вариант b
- •Интерфейс ServletContext
- •Интерфейс ServletConfig
- •Интерфейсы ServletRequest и HttpServletRequest
- •Интерфейсы ServletResponse и HttpServletResponse
- •Обработка запроса
- •Многопоточность
- •Электронная почта
- •Задания к главе 18 Вариант а
- •Вариант b
- •Стандартные элементы action
- •Неявные объекты
- •Демонстрация работы тегов c:forEach, c:choose, c:when, c:otherwise
- •Данная страница демонстрирует работу тегов
- •Включение ресурсов
- •Обработка ошибок
- •Технология взаимодействия jsp и сервлета
- •Задания к главе 19
- •Вариант а
- •Вариант b
- •Субд MySql
- •Простое соединение и простой запрос
- •Метаданные
- •Подготовленные запросы и хранимые процедуры
- •Транзакции
- •Id студента: 83, Petrov Внесены данные в students: 83, Petrov Внесены данные в course: 83, xml Данные внесены - транзакция завершена
- •Точки сохранения
- •Пул соединений
- •Задания к главе 20 Вариант а
- •Вариант b
- •Обработка событий
- •Фильтры
- •Задания к главе 21 Вариант а
- •Вариант b
- •Вопрос 21.5.
- •Вопрос 21.6.
- •Г лава22 пользовательские теги
- •Простой тег
- •Тег с атрибутами
- •Тег с телом
- •Элементы action
- •Задания к главе 22 Вариант а
- •Вариант b
- •П риложение 2
- •Включение скриптов на языке JavaScript в html-код
- •Отладка скриптов JavaScript
- •Типы данных
- •Специальные числа
- •Булев тип
- •Переменные типа Undefined и Null
- •Массивы
- •Операторы и выражения
- •Оператор with
- •Оператор switch
- •Метод eval()
- •Функции
- •Передача параметров по значению и по ссылке
- •Глобальные и локальные переменные
- •Пользовательские объекты
- •Прототипы
- •Встроенные объекты Array, Date, Math Объект Array
- •Объект Date
- •Объект Math
- •Объекты window и document
- •Создание новых узлов
- •Добавление новых узлов в документ
- •Удаление и замена узлов в документе
- •Использование каскадных таблиц стилей в dom
- •Свойство элемента innerHtml и outerHtml
- •Динамическое назначение событий
- •Ключевое слово this
- •П риложение3
- •Проектная модель
- •Uml как программный язык
- •Нотации и метамодель
- •Диаграммы, которые ниже будут рассмотрены с разной степенью детализации:
- •Свойства
- •Множественность
- •Операторы
- •П риложение 4 базы данных и язык sql
- •Реляционные субд Модель данных в реляционных субд
- •Нормализация модели данных
- •Язык sql
- •Команды sql
- •Команды определения структуры данных (DataDefinitionLanguage–ddl)
- •Команды манипулирования данными (Data Manipulation Language – dml)
- •Команды управления транзакциями (TransactionControlLanguage–tcl)
- •Команды управления доступом (DataControlLanguage–dcl)
- •Работа с командами sql
- •Ключевое слово distinct
- •Секция from, логическое связывание таблиц
- •Секция where
- •Секция orderby
- •Групповые функции
- •Секция group by
- •Секция having
- •Изменение данных
- •Команда insert
- •Команда delete
- •Команда update
- •Определение структуры данных Команда createtable
- •Команда droptable
- •П риложение5
- •П риложение 6
- •П риложение7 журнал сообщений (logger)
- •П риложение 8
- •Портлеты
Вопрос 3.2.
Метод или логический блок могут вызывать конструктор только с помощью оператора new.
Ответ: 3.
Вопрос 3.3.
Статический метод может быть вызван из нестатического, обратное неверно, так как статический метод может быть вызван без создания экземпляра класса и имеет доступ только к статическим полям и методам класса. Использование спецификатора private не ограничивает видимость поля или метода внутри объявления класса. Ничто не мешает методу быть объявленным final static.
Ответ: 1.
Вопрос 3.4.
При запуске приложения выполняются только статические логические блоки класса приложения и тело метода main().
Ответ: 4.
Ответы:
3.1. 1), 5)
3.2. 3)
3.3. 1)
3.4. 4)
Глава 4
Вопрос 4.1.
Во время выполнения при попытке преобразования с сужением типа будет сгенерировано исключение ClassCastException.
Ответ: 3.
Вопрос 4.2.
Класс Object при наследовании может быть указан явно только в том случае, если класс не наследует другой класс. В данной ситуации для корректности кода необходимо убрать один из двух классов после extends, причем неважно какой.
Ответ: 3.
Вопрос 4.3.
Компилятор создаст конструктор по умолчанию для класса В, который для создания объекта попытается вызвать несуществующий конструктор без параметров класса А. В итоге будет сгенерирована ошибка компиляции в строке 2.
Ответ: 2, 4.
Вопрос 4.4.
В одном файле не может быть двух public классов.
Ответ: 1.
Вопрос 4.5.
Методы, объявленные как private, не наследуются, поэтому на них не распространяются принципы полиморфизма. Так что метод с такой же сигнатурой, объявленный в подклассе, не имеет никакой связи с методом из суперкласса. В таком случае при вызове через ссылку на суперкласс происходит попытка вызвать его private-метод, что приводит к ошибке компиляции.
Ответ: 1.
Вопрос 4.6.
В строке 1 ошибки не будет, так как происходит безопасное преобразование вверх. Во второй строке вызывается полиморфный метод. Ошибка компиляции произойдет при попытке вызова метода, принадлежащего только подклассу, через ссылку на суперкласс, через которую он просто недоступен.
Ответ: 5.
Вопрос 4.7.
Вместо первого и третьего комментариев вызовы конструкторов ставить нельзя, так как явный вызов конструктора может осуществляться только с помощью super() или this() соответственно только из конструкторов подкласса или текущего класса.
Ответ: 3.
Ответы:
4.1. 3)
4.2. 3)
4.3. 2), 4)
4.4. 1)
4.5. 1)
4.6. 5)
4.7. 3)
Глава 5
Ответы:
5.1. 2)
5.2. 1), 4)
5.3. 2)
5.4. 3)
5.5. 3)
Глава 6
Вопрос 6.1.
Объявление пакета должно предшествовать любому другому коду, причем оно должно быть единственным. Комментарии могут находиться везде.
Ответ: 2, 3.
Вопрос 6.2.
Интерфейсы не могут включать реализованные методы и неинициализированные поля. Все поля интерфейса трактуются как константы. Абстрактный метод не может быть статическим из-за нарушения принципов полиморфизма, также он не может быть protected и private из-за того, что не может быть использован и переопределен. Атрибуты по умолчанию перед полями и методами интерфейса можно записать в явном виде.
Ответ: 2, 4.
Вопрос 6.3.
Объявить объект внутреннего (нестатического) класса можно, только предварительно создав объект внешнего класса. Конструкторы обоих классов должны вызываться так же, как и для всех других классов, т.е. с помощью оператора new.
Ответ: 4.
Вопрос 6.4.
В результате выполнения кода Owner ob=new Owner() будет создан объект Owner. Его метод meth() создаст объект типа Inner в результате выполнения кода Abstract abs=ob.meth(). При его выполнении ничего выведено на консоль не будет, так как метод meth() класса Inner, выводящий на консоль строку inner, будет вызван только один раз командой abs.meth().
Ответ: 1.
Вопрос 6.5.
В первой строке объявляется поле, во второй – метод, в третьей – внутренний класс. Все они могут иметь одинаковое имя, что не мешает компилятору различать их.
Ответ: 4.
Ответы:
6.1. 2), 3)
6.2. 2), 4)
6.3. 4)
6.4. 1)
6.5. 4)
Глава 7
Вопрос 7.1.
Метод substring(i,j) извлекает подстроку из вызывающей строки, начиная с символа в позиции i и заканчивая символом в позиции j, не включая его. Первый символ строки находится в позиции 0.
Ответ: 2.
Вопрос 7.3.
Java не допускает перегрузки оператора, как в C++, но для удобства оператор + переопределен для строк и преобразует объекты любых типов в его строковый эквивалент.
Ответ: 1, 2.
Вопрос 7.4.
Ошибок компиляции не возникнет, так как, во-первых, ch получит соответствующее коду 074 значение ‘t’ и, во-вторых, сложение символа со строкой в результате даст строку “tava”.
Ответ: 6.
Вопрос 7.5.
Метод insert() вставляет строку в указанную позицию вызывающего объекта класса StringBuffer и сохраняет в нем изменения.
Ответ: 1.
Ответы:
7.1. 2)
7.2. 3)
7.3. 1), 2)
7.4. 6)
7.5. 1)
Глава 8
Вопрос 8.1.
Блок try может завершаться инструкцией catch или finally. В данном случае во избежание ошибки компиляции необходимо поставить инструкцию catch(java.io.IOException e), т.к. метод write() способен генерировать исключение, которое сам не обрабатывает. Метод inc() возвращает значение, поэтому необходимо завершить код метода инструкцией return counter. Так как в вопросе предлагалось выбрать два правильных ответа, то возможное добавление в код инструкции finally не представляется возможным.
Ответ: 2, 5.