Java руководство для начинающих - Шилдт Герберт (2012)
-
Год:2012
-
Название:Java руководство для начинающих
-
Автор:
-
Жанр:
-
Оригинал:Английский
-
Язык:Русский
-
Издательство:Вильямс
-
Страниц:316
-
ISBN:978-5-8459-1770-6
-
Рейтинг:
-
Ваша оценка:
Java руководство для начинающих - Шилдт Герберт читать онлайн бесплатно полную версию книги
реализовать произвольное число интерфейсов.
Может ли один интерфейс наследовать другой интерфейс?
Да, может. Механизм наследования распространяется и на интерфейсы.
Создайте интерфейс для класса Vehicle, рассмотренного в главе 7, назвав его
IVehicle.
interface IVehicle {
// возвратить дальность действия транспортного средства
int range();
// рассчитать объем топлива, требующегося
// для прохождения заданного пути
double fuelneeded(int miles);
// Методы доступа к переменным экземпляра.
int getPassengers();
void setPassengers(int p);
int getFuelcap();
void setFuelcap(int f);
int getMpg();
void setMpg(int m);
}
Переменные, объявленные в интерфейсе, неявно считаются как static и final.
Какие преимущества это дает?
Переменные, объявленные в интерфейсе, могут служить в качестве именованных
констант, общих для всех файлов программы. Доступ к ним обеспечивается путем
импорта того интерфейса, в котором они объявлены.
Пакет, по существу, является контейнером для классов. Верно или не верно?
Приложение А. Ответы на вопросы для самопроверки 575
Верно.
Какой стандартный пакет импортируется по умолчанию в любую программу на Java?
Пакет java.lang.
Глава 9. Обработка исключений
Какой класс находится на вершине иерархии исключений?
На вершине иерархии исключений находится класс Throwable.
Объясните вкратце, как пользоваться ключевыми словами try и catch?
Ключевые слова try и catch используются совместно. Операторы программы для
отслеживания исключений помещаются в блок try. А перехват и обработка исключений осуществляются в блоке catch.
Какая ошибка допущена в приведенном ниже фрагменте кода?
II ...
vals[18] = 10;
catch (ArraylndexOutOfBoundsException exc) {
// обработать ошибку
}
Блоку catch не предшествует блок try.
Что произойдет, если исключение не будет перехвачено?
Если исключение не будет перехвачено, произойдет аварийное завершение программы.
Какая ошибка допущена в приведенном ниже фрагменте кода?
class A extends Exception { ...
class В extends А { ...
II ...
try {
II ...
}
catch (A exc) { ... }
catch (B exc) { ... }
В данном фрагменте кода оператор catch для суперкласса предшествует оператору
catch для подкласса. А поскольку оператор catch для суперкласса может обработать также исключения, относящиеся к подклассу, то в программе окажется код, недоступный для выполнения.
Может ли внутренний блок catch повторно генерировать исключение, которое будет обработано во внешнем блоке catch?
Да, исключения могут генерироваться повторно.
Блок finally — последний фрагмент кода, выполняемый перед завершением программы. Верно или неверно? Обоснуйте свой ответ.
Неверно. Блок finally выполняется по завершении блока try.
Исключения какого типа необходимо явно объявлять с помощью оператора throws,
включаемого в объявление метода?
С помощью оператора throws объявляются все исключения, кроме Runtime
Exception и Error.
Какая ошибка допущена в приведенном ниже фрагменте кода?
class MyClass { // ... }
// ...
throw new MyClass();
Класс MyClass не является производным от класса Throwable. С помощью оператора throw могут генерироваться лишь те исключения, которые являются подклассами, производными от класса Throwable.
Отвечая на вопрос 3 упражнения для самопроверки по материалу главы 6, вы создали класс Stack. Добавьте в него специальные исключения для реагирования на попытку поместить элемент в переполненный стек и извлечь элемент из пустого стека.
// Исключение, возникающее при переполнении стека,
class StackFullException extends Exception {
int size;