Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
java -вопросы.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
162.15 Кб
Скачать
  1. Наследование и пакеты.

  2. Интерфейсы. // Implements

  1. Исключительные ситуации, их классификация и различия.

В языке Java объект исключительной ситуации всегда является экземпляром класса, производного от класса Throwable. Как мы вскоре убедимся, при необходимости можно создавать и свои собственные классы исключительных ситуаций, если стандартных классов недостаточно.

Throwable

Error -----------------|-------------------- Exception

IOException ------|--- RuntimeException

Обратите внимание на то, что, хотя все исключительные ситуации происходят от класса Throwable, иерархия сразу разделяется на две ветви: Error и Exception.

Иерархия Error описывает внутренние ошибки и ситуации, связанные с исчерпанием ресурсов, в системе поддержки выполнения программ на языке Java. Ни один объект этого типа самому возбудить невозможно. Если возникла внутренняя ошибка, то перед тем, как сообщить об этом пользователю и обеспечить безопасное завершение программы, программист может сделать немногое. Эти ситуации возникают довольно редко.

Программируя на языке Java, основное внимание следует уделять иерархии Exception. Эта иерархия также разделяется на две ветки: исключительные ситуации, производные от класса RuntimeException, и остальные. Общее правило таково.

  • Исключительные ситуации типа RuntimeException возникают вследствие ошибок программирования. Все другие исключительные ситуации являются следствием непредвиденного стечения обстоятельств, например, ошибок ввода-вывода, возникающих при выполнении вполне правильных программ.

Исключительные ситуации, производные от класса RuntimeException, связаны со следующими проблемами.

  • Неверное приведение типов.

  • Выход за допустимые пределы массива.

  • Попытка обратиться к объекту по ссылке null.

Остальные исключительные ситуации возникают в следующих случаях.

  • Обрыв файла.

  • Попытка соединиться с неправильным URL-адресом.

  • Попытка обнаружить несуществующий объект класса Class.

возбудить двумя способами:

throw new EOFException();

или, если хотите,

EOFException e = new EOFException(); throw e;

В программе может возникнуть ситуация, не предусмотренная ни одним из существующих классов. В этом случае можно достаточно просто создать свой собственный класс исключительных ситуаций. Для этого нужно просто вывести новый класс из класса Exception или одного из его дочерних классов, например IOException. Этот класс можно снабдить конструктором по умолчанию и конструктором, содержащим подробное сообщение. (Это сообщение, полезное для отладки, выводится на печать с помощью метода toString базового класса Throwable.)

class FileFormatException extends IOException { public FileFormatException() {} public FileFormatException(String gripe) { super(gripe); } }

Теперь мы готовы возбудить исключительную ситуацию своего собственного типа.

String readData(BufferReader in) throws FileFormatException { while (…) { if (ch == -1) // Обнаружен маркер конца файла EOF. { if ( n < len) throw new FileFormatException(); } } return s; }

Когда код возбуждает исключительную ситуацию, выполнение остальных операторов останавливается, и происходит выход из метода. Если метод зарезервировал какие-то локальные ресурсы, о которых известно лишь ему, то освободить их окажется невозможно. Для этого нужно перехватить и повторно возбудить все исключительные ситуации. Однако это решение не слишком удачно, поскольку ресурсы нужно освобождать в двух местах: в нормальном коде и в коде исключительной ситуации.

В языке Java есть лучшее решение — использовать раздел finally.

Graphics g = image.getGraphics(); try { Код, который может возбуждать исключительные ситуации. } catch (IOException e) { Выводим диалоговое окно. } finally { g.dispose(); }

  1. Стандартные и пользовательские исключительные ситуации.

  2. Графика в Java. Понятия frame, panel. Организация вывода графической информации.

  3. Интегрированная среда JDeveloper – возможности, свойства, методы разработки и отладки программ. //omg

  4. Интерфейсные компоненты пользователя.

  5. Пакеты AWT и Swing. //по сути одно и то же AWT старше

  6. Обработка событий. //слушатели

Операционной среде, которая поддерживает графический интерфейс отслеживает следующие события:

• кнопка мыши

• события Window

• события клавиатуры

• события Фокус

• события мыши

• Прием событий

Процедура обработки события основаны на объектах 3-х видов.

Событие исходные объекты-кнопки, полосы прокрутки и т.д. Таким образом, это объект, который может зарегистрировать слушателя объектов и отправить их объекты событий.

События объекта.Информация о событии заключена в объекте события. В Java все объекты события в конечном счете производным от класса java.util.EventObject. Есть подклассов для каждого типа события, такие, как ActionEvent и WindowEvent.

Событие слушателя объекты - объекты, которые осуществляют желаемый ответ на событие.Слушатель объект реализует специальный интерфейс, называемый интерфейс слушателя.

Как это работает:

Источник событий отправляет объекты событий для всех зарегистрированных слушателей, когда происходит событие.

Слушатель объектов будет использовать информацию в случае объект, чтобы определить их реакцию на события.

Вы регистрируетесь слушателя объект с исходного объекта с помощью инструкции вроде этого:

EventSourceObject.addEventListener (eventListenerObject);

Таблица 6. Типы событий, слушатели и методы слушателей в Java 1.1

Класс события

Интерфейс слушателя

Методы слушателя

ActionEvent

ActionListener

actionPerformed()

AdjustmentEvent

AdjustmentListener

adjustmentValueChanged()

ComponentEvent

ComponentListener

componentHidden() componentMoved() componentResized() Cor”componentShown()

ContainerEvent

ContainerListener

componentAdded() componentRemoved()

FocusEvent

FocusListener

focusGained()

focusLost ()

ItemEvent

ItemListener

itemStateChanged()

KeyEvent

KeyListener

keyPressed()

keyReleased()

keyTyped()

MouseEvent

MouseListener

mouseClicked()

mouseEntered()

mouseExited()

mousePressed() mouseReleased()

MouseMotionListener

mouseDragged()

mouseMoved()

TextEvent

TextListener

textValueChanged()

WindowEvent

WindowListener

windowActivated() windowClosed() windowClosing() windowDeactivated() windowDeiconified() windowlconified() windowOpened()

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]