Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Java_Промышленное программирование1.doc
Скачиваний:
173
Добавлен:
13.04.2015
Размер:
5.58 Mб
Скачать

Вопрос 8.2.

При вызове метода meth() с параметром 5 переменная y последовательно будет принимать следующие значения: в строке 1 в десятичной системе счисления будет 8; в строке 2 будет значение 13 (8 + 5); строка 3 генерирует исключение, поэтому строка 4 будет пропущена, а в результате выполнения инструкции catch значение будет уменьшено на единицу. Если бы в строке 3 исключение генерировалось без использования оператора if, то возникла бы ошибка компиляции из-за принципиальной невозможности выполнения строки 4.

Ответ: 1.

Вопрос 8.3.

При генерации исключения последовательно выполняются блоки catch и finally, причем возвращаемое методом значение переменной count будет взято из инструкции return блока finally.

Ответ: 4.

Вопрос 8.4.

Варианты 1 и 4 не скомпилируются, т.к. они включают классы IOException и Exception, не обработанные в базовом классе. Поскольку в случаях 2 и 3 в качестве параметра выступают типы long и short, то эти методы являются перегруженными, для которых таких ограничений не существует.

Ответ: 2, 3.

Вопрос 8.5.

При подстановке варианта 3 будет скомпилирована ошибка, т.к. IOException является проверяемым исключением, и в блоке try должна быть предусмотрена возможность его генерации. При использовании варианта 4 ошибка компиляции возникнет вследствие того, что исключению типа Exception не предоставлен соответствующий блок catch. Вариант 2 содержит синтаксическую ошибку.

Ответ: 1.

Ответы:

8.1. 2), 5)

8.2. 1)

8.3. 4)

8.4. 2), 3)

8.5. 1)

Глава 9

Вопрос 9.1.

Методы класса File могут создавать, удалять, изменять имя каталога, но изменять корневой каталог можно только через переменные окружения.

Вопрос 9.3.

Методы класса File могут создавать файл, удалять его, изменять его имя, но к информации, содержащейся в файле, доступа не имеют.

Вопрос 9.5.

Использование transient указывает на отказ от сохранения значения помеченного поля объекта при записи объекта в поток.

Ответ: 3.

Ответы:

9.1. 4)

9.2. 2)

9.3. 2), 3)

9.4. 4)

9.5. 3)

Глава 10

Вопрос 10.1.

Интерфейсы List, Vector допускают наличие одинаковых элементов в своих реализациях. Коллекция Map запрещает наличие одинаковых ключей, но не значений. Множество Set по определению не может содержать одинаковых элементов.

Ответ: 1.

Вопрос 10.2.

Объект, не являющийся коллекцией, может быть добавлен в коллекцию только при помощи метода add(). Класс ArrayList содержит конструкторы вида ArrayList(), ArrayList(int capacity) и ArrayList(Collection c). Интерфейс List конструктора не имеет по определению.

Ответ: 1, 4.

Вопрос 10.3.

Класс Hashtable реализует интерфейс Map и наследует абстрактный класс AbstrаctMap.

Ответ: 5.

Вопрос 10.4.

Класс HashSet реализует интерфейс Set. Интерфейс SortedSet реализует класс TreeSet. Проверка instanceof проводится не по ссылке, а по объекту.

Ответ: 1.

Вопрос 10.5.

Stack, HashMap и HashSet являются классами, а AbstractMap – абстрактный класс. Интерфейсами являются SortedSet и SortedMap.

Ответ: 1, 4.

Ответы:

10.1. 1)

10.2. 1), 4)

10.3. 5)

10.4. 1)

10.5. 1), 4)

Глава 11

Вопрос 11.1.

Правильным вариантом является следующий код:

int i =

new Integer(getParameter("count")).intValue();

Метод getParameter() извлекает из формы значение параметра count в виде строки, которая используется для инициализации объекта класса Integer. Метод intValue() используется для преобразования к базовому типу.

Ответ: 1.

Вопрос 11.2.

Для того чтобы изменения цвета фона стали видны пользователю, требуется перерисовка всего апплета вызовом метода paint(). Это действие можно выполнить, вызвав методы repaint() или update().

Ответ: 4.

Вопрос 11.5.

Объекты из пакета AWT могут объявляться и вызывать свои методы в любых приложениях.

Ответ: 2.

Ответы:

11.1. 1)

11.2. 4)

11.3. 5), 6)

11.4. 1), 4)

11.5. 2)

Глава 12

Вопрос 12.1.

Чтобы класс был апплетом, достаточно, чтобы его суперклассом был класс Applet. Переопределение методов производится при необходимости закрепления за апплетом каких-либо действий.

Ответ: 2.

Вопрос 12.3.

Попытка компилировать данный код приведет к ошибке вследствие того, что часть методов интерфейса WindowListener не реализована в классе Quest3.

Ответ: 1.

Ответы:

12.1. 2)

12.2. 1)

12.3. 1)

12.4. 1), 5)

12.5. 1), 2)

Глава 13

Вопрос 13.2.

По умолчанию фреймы используют менеджер размещений BorderLayout, поэтому если при добавлении элемента на фрейм не было указано его месторасположение, то элемент займет весь фрейм. Следующий добавленный таким же образом элемент будет прорисован поверх предыдущего.

Ответ: 3.

Вопрос 13.4.

Команда add(b), вызванная во второй раз, пытается добавить на апплет уже существующий там объект. Команда add(new Button(“NO”)) каждый раз добавляет новый объект.

Ответ: 2.

Вопрос 13.5.

Метод всегда вызывается объектом, который необходимо зарегистрировать. В качестве параметра должен передаваться объект приложения или апплета, в котором размещается данный компонент.

Ответ: 2.

Ответы:

13.1 2)

13.2 3)

13.3 3)

13.4 2)

13.5 2)

Глава 14

Вопрос 14.1.

Объект потока создается только после вызова конструктора класса Thread или его подкласса, но к ошибке компиляции создание такого объекта, как в примере, не приведет. Поток всегда запускается вызовом метода start(). Результатом же вызова метода run() будет выполнение кода метода run(), никак не связанное с потоком. В данной ситуации ошибка компиляции произойдет из-за того, что сигнатура метода run() в интерфейсе Runnable не совпадает с его реализацией в классе Q, т.е. метод не реализован и класс Q должен быть объявлен как abstract.

Ответ: 4.