// Gen gens[] = new Gen[10] ; // Ошибка!
### Ограничения, накладываемые на обобщенные исключения
Обобщенный класс не может расширять класс Throwable. Это означает, что создавать обобщенные классы исключений нельзя.
### Дальнейшее изучение обобщений
Как пояснялось в начале этой главы, приведенных в ней сведений достаточно для того, чтобы эффективно пользоваться обобщениями в создаваемых на Java программах. Но у обобщений имеется немало особенностей, которые не нашли отражения в этой главе.
Читатели, которых заинтересовала эта тема, вероятно, захотят узнать побольше о томвлиянии, которое обобщения оказывают на иерархию классов и, в частности, каким образом осуществляется сравнение типов при выполнении программы, как переопределяются методы и т.д. Все эти и многие другие вопросы употребления обобщений подробно освещены в книге Java. Полное руководство, 8-е издание, ИД “Вильямс”, 2012 г.
## Упражнение для самопроверки по материалу главы 13
1. Обобщения очень важны, поскольку они позволяют создавать код, который:
a) обеспечивает типовую безопасность;
b) пригоден для повторного использования;
c) отличается высокой надежностью;
d) обладает всеми перечисленными выше свойствами.
2. Можно ли указывать простой тип в качестве аргумента типа?
3. Как объявить класс FlightSched с двумя параметрами типа?
4. Измените ваш ответ на вопрос 3 таким образом, чтобы второй параметр типа обозначал подкласс, производный от класса Thread.
5. Внесите изменения в класс FlightSched таким образом, чтобы второй параметр типа стал подклассом первого параметра типа.
6. Что обозначает знак ? в обобщениях?
7. Может ли метасимвольный аргумент быть ограниченным?
8. У обобщенного метода My Gen имеется один параметр типа, определяющий тип передаваемого ему аргумента. Этот метод возвращает также объект, тип которого соответствует параметру типа. Как должен быть объявлен метод My Gen ?
9. Допустим, обобщенный интерфейс объявлен так, как показано ниже.
interface IGenIF
Допустим, имеется обобщенный класс Counter. Как создать объект его базового типа?
Существуют ли параметры типа на стадии выполнения программы?
Видоизмените ответ на вопрос 10 в упражнении по материалу главы 9 таким образом, чтобы сделать класс обобщенным. По ходу дела создайте интерфейс стека iGenStack, объявив в нем обобщенные методы push и pop .
Что обозначают угловые скобки (< >)?
Как упростить приведенную ниже строку кода в версии JDK 7?MyClass
Глава 14Апплеты, события и прочее
Основные навыки и понятия
Представление об апплетах
Архитектура апплетов
Создание заготовок апплетов
Инициализация и завершение апплетов
Перерисовка содержимого окон апплетов
Вывод данных в окне состояния
Передача параметров апплетам
Представление о классе Applet
Применение модели делегирования событий
Описание остальных ключевых слов Java
Цель данной книги — поведать читателю об основных элементах Java, и мы близки к завершению этого повествования. Тринадцать предыдущих глав были посвящены тем средствам, которые определяют Java как язык программирования, в том числе ключевым словам, синтаксису, блочной структуре, правилам преобразования типов и т.д. Теперь у вас должно быть достаточно знаний, чтобы писать реальные программы на Java. Но еще остаются вопросы программирования, которые невозможно разрешить с помощью ключевых слов, и поэтому приходится обращаться к классам API и специальным технологиям. В этой главе речь пойдет об апплетах и событиях.
Следует, однако, иметь в виду, что темы апплетов и событий довольно обширны, а полное и подробное их изложение выходит за рамки этой книги. Поэтому апплеты и события будут рассмотрены в этой главе лишь в самых общих чертах, хотя и проиллюстрированы на ряде примеров. Но не следует забывать, что это только самые основы. И тем не менее, усвоив эти основы, вы сможете опереться на них как на прочный фундамент для пополнения своих знаний и совершенствования навыков программирования на Java.
В конце этой главы приводится описание ключевых слов Java, которые еще не рассматривались в данной книге, например instanceof и native. Эти языковые средства предназначены для решения более сложных задач программирования на Java, а здесь они рассматриваются ради полноты представления об этом языке. Общее представление об апплетах