Читайте также:
|
|
Вызов утилиты jar,приведенный на рисунке создает jar-файл с именем AAA.jar, с упакованными в него файлами AAA.class, BBB.class и CCC.class, а также файлом MANIFEST.MF.
Получить содержимое jar-файла можно с помощью следующей команды.
5. Интерфейсы Java: назначение, принцип применения.
Интерфейсы похожи на классы, но в отличие от последних у интерфейсов нет экземплярных переменных, а в объявлениях методов отсутствует реализация (нет тела, а только сигнатура). Класс может иметь (говорят – может реализовать) любое количество интерфейсов. Если для класса определены интерфейсы, то этот класс должен реализовать полный набор методов всех интерфейсов. При этом сигнатуры таких методов класса должны точно совпадать с сигнатурами методов интерфейсов. Интерфейсы обладают своей собственной иерархией, не пересекающейся с классовой иерархией наследования. Это дает возможность реализовать один и тот же интерфейс в различных классах, никак не связанных по линии иерархии классового наследования. Интерфейсы напоминают абстрактные классы в С++, у которых все методы чисто виртуальные. Исходный код интерфейсов располагается в файлах с расширением java. Откомпилированный файл имеет расширение class. Интерфейсы аналогично классам (и вместе с ними) могут храниться в пакетах и образовать их иерархии. Для интерфейсов, аналогично классам, применяется механизм наследования. При этом тоже используется ключевое слово extends.
Все переменные, объявленные в интерфейсе по умолчанию имеют свойство final (аналог const в С++).
interface – ключевое слово, используемое для определения интерфейса.
implements – ключевое слова указывающее на то, что класс обязан реализовать интерфейс. После ключевого слова может быть перечислено несколько интерфейсов, которые реализует класс.
6. Обработка исключений в Java. Конструкция try/catch/finally/throw. Применение ключевого слова throws в сигнатуре метода. Иерархия исключений в Java. Встроенные исключения. Создание пользовательских исключений.
Принципы обработки исключений. К механизму обработки исключений в Java имеют отношение 5 ключевых слов: try, catch, throw, throws и finally. Схема работы этого механизма следующая: try определят блок охраняемого кода, и если при происходит исключение, возбуждаемое оператором throw, то оно может быть перехвачено и обработано в блоке, определяемом ключевым словом catch (таких блоков может несколько); блок finally определяет код, который выполняется всегда, вне зависимости от того, произошла или нет обработка исключения.
Типы исключений. В вершине иерархии исключений стоит класс Throwable. Каждый из типов исключений является подклассом класса Throwable. Два непосредственных наследника класса Throwable делят иерархию подклассов исключений на две различные ветви. Один из них — класс Ехception — используется для описания исключительных ситуации, которые должны перехватываться программным кодом пользователя. Другая ветвь дерева подклассов Throwable — класс Error, который предназначен для описания исключительных ситуаций, которые при обычных условиях не должны перехватываться в пользовательской программе (обычно связаны со сбоем аппаратуры или исполняемой среды (JRE)).
Неперехваченные исключения. Некоторые объекты-исключения автоматически создаются исполняющей средой Java в результате возникновения определенных исключительных состояний. Например, при вычислении, которого возникает деление на нуль. Кроме того, исключения могут создаваться программистом с помощью оператора throw. Если для типа исключения (с точностью до базового класса) не присутствует блок catch, то такое исключение прихватывается и обрабатывается стандартным обработчиком Javа, который как правило диагностирует исключение и выводит системный программный стек.
Вложенные операторы try. Операторы try могут быть вложенными. Вложенность может быть явной (охраняемый код try-блока содержит оператор try) и не явной (охраняемый код содержит вызов методов, содержащих внутри себя конструкции try-catch-throw-finally). При этом следует помнить, что, если в непосредственно следующих за try-блоком блоках catch,не будет найден подходящий обработчик, то поиск продолжается в вызывающем методе и так далее вверх по стеку.
Методы с ключевым словом throws. Если метод способен к порождению исключения, которое им не обрабатывается, он должен сообщить о типах этих исключений в заголовке метода (сигнатуре) с помощью ключевого слова throws.
Встроенные исключения. Встроенные исключения определены в пакете java.lang, который неявно импортирован во все java-программы. Большинство из них являются производными класса RuntimeException, который расширяет класс Exception. Все эти исключения называются неконтролируемыми исключениями(unchecked)java, они неявно включаются в списки throws всех методов.
Кроме того, есть контролируемые (checked) исключения, применение которых требует их указания в списке throws.
Создание собственных подклассов исключений. Собственные пользовательские исключения, определяются как подкласс класса Exception. Класс Exception не определяет своих методов, а наследует их от класса Throwable. Собственный класс-исключение может переопределить эти методы.
Дата добавления: 2015-09-11; просмотров: 96 | Поможем написать вашу работу | Нарушение авторских прав |