С. Сухов - Основы программирования на Java
- Название:Основы программирования на Java
- Автор:
- Жанр:
- Издательство:неизвестно
- Год:неизвестен
- ISBN:нет данных
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
С. Сухов - Основы программирования на Java краткое содержание
Учебное пособие разработано в соответствии с программой курса «Информатика» и предназначено для студентов радиотехнического факультета, но может использоваться и студентами других специальностей. Рассматриваются вопросы программирования на языке Java.
Направлено на закрепление знаний по курсу «Информатика», читаемого по специальности 210406 «Сети связи и системы коммутации». Учебное пособие подготовлено на кафедре «САПР».
Основы программирования на Java - читать онлайн бесплатно полную версию (весь текст целиком)
Интервал:
Закладка:
Если в двух пакетах, подключаемых с помощью формы оператора import со звездочкой, есть классы с одинаковыми именами, однако вы их не используете, транслятор не отреагирует. А вот при попытке использовать такой класс вы сразу получите сообщение об ошибке, и вам придется переписать операторы import, чтобы явно указать, класс какого пакета вы имеете в виду, class MyDate extends Java.util.Date {}
Java предоставляет несколько уровней защиты, обеспечивающих возможность тонкой настройки области видимости данных и методов. Из-за наличия пакетов Java должна уметь работать еще с четырьмя категориями видимости между элементами классов:
1. подклассы в том же пакете;
2. не подклассы в том же пакете;
3. подклассы в различных пакетах;
4. классы, которые не являются подклассами и не входят в тот же пакет.
В языке Java имеется три уровня доступа, определяемых ключевыми словами: private (закрытый), public (открытый) и protected (защищенный), которые употребляются в различных комбинациях. Содержимое ячеек таблицы определяет доступность переменной с данной комбинацией модификаторов (столбец) из указанного места (строка).
Есть несколько правил, которые помогут вам разобраться. Элемент, объявленный public, доступен из любого места. Все, что объявлено private, доступно только внутри класса и нигде больше. Если у элемента вообще не указан модификатор уровня доступа, то такой элемент будет виден из подклассов и классов того же пакета. Именно такой уровень доступа используется в языке Java по умолчанию. Если необходимо, чтобы элемент был доступен только подклассам, причем независимо от того, находятся ли они в данном пакете или нет — используйте protected.
Таблица 8.1 Таблица ограничения доступа
private |
модификатор отсутствует |
protected |
public |
|
тот же класс |
да |
да |
да |
да |
подкласс в том же пакете |
нет |
да |
да |
да |
независимый класс в том же пакете |
нет |
да |
да |
да |
подкласс в другом пакете |
нёт |
нет |
да |
да |
независимый класс в другом пакете |
нет |
нет |
нет |
да |
Интерфейсы Java созданы для поддержки динамического выбора (resolution) методов во время выполнения программы. Интерфейсы похожи на классы, но в отличие от последних у интерфейсов нет переменных представителей, а в объявлениях методов отсутствует реализация. Класс может иметь любое количество интерфейсов. Все, что нужно сделать — это реализовать в классе полный набор методов всех интерфейсов. Сигнатуры таких методов класса должны точно совпадать с сигнатурами методов реализуемого в этом классе интерфейса. Интерфейсы обладают своей собственной иерархией, не пересекающейся с классовой иерархией наследования. Это дает возможность реализовать один и тот же интерфейс в различных классах, никак не связанных по линии иерархии классового наследования. Именно в этом и проявляется главная сила интерфейсов.
Определение интерфейса сходно с определением класса, отличие состоит в том, что в интерфейсе отсутствуют объявления данных и конструкторов. Общая форма интерфейса приведена ниже:
interface имя {
тип_результата имя_метода1 (список параметров);
тип имя_finall_переменной = значение;
}
Обратите внимание — у объявляемых в интерфейсе методов отсутствуют операторы тела. Объявление методов завершается символом «;» (точка с запятой). В интерфейсе можно объявлять и переменные, при этом они неявно объявляются переменными типа final. Это означает, что класс реализации не может изменять их значения. Кроме того, при объявлении переменных в интерфейсе их обязательно нужно инициализировать константными значениями. Ниже приведен пример определения интерфейса, содержащего единственный метод с именем callback и одним параметром типа int.
interface Callback {
void callback(int param); }
Оператор implements — это дополнение к определению класса, реализующего некоторый интерфейс.
class имякласса [extends суперкласс]
[implements интерфейс0 [, интерфейс 1...]]
{тело класса}
Если в классе реализуется несколько интерфейсов, то их имена разделяются запятыми. Ниже приведен пример класса, в котором реализуется определенный нами интерфейс:
class Client implements Callback {
void callback(int p) {
System.out.println("callback вызван с " + p);
}
}
В очередном примере метод callback интерфейса, определенного ранее, вызывается через переменную-ссылку на интерфейс:
class Testlface {
public static void main(String args[])
{
switch(result) {
case NO:
System.out.println("Heт");
break;
case YES:
System.out.println("Дa");
break;
case MAYBE:
System.out.println("Moжeт быть");
break;
case LATER:
System.out.println("Позже");
break;
case SOON:
System.out.priniln("Cкopo");
break;
case NEVER:
System.out.println("Никогда");
break;
}
}
public static void main(String args[]) {
Question q = new Question();
answer(q.ask());
answer(q.ask());
answer(q.ask());
answer(q.ask());
}
}
Обратите внимание на то, что результаты при разных запусках программы отличаются, поскольку в ней используется класс генерации случайных чисел Random пакета java.util.
Позже
Скоро
Нет
Да
9. ОБРАБОТКА ИСКЛЮЧЕНИЙ
Исключение в Java — это объект, который описывает исключительное состояние, возникшее в каком-либо участке программного кода. Когда возникает исключительное состояние, создается объект класса Exception. Этот объект пересылается в метод, обрабатывающий данный тип исключительной ситуации. Исключения могут возбуждаться и «вручную» для того, чтобы сообщить о некоторых нештатных ситуациях.
К механизму обработки исключений в Java имеют отношение 5 ключевых слов: — try, catch, throw, throws и finally. Схема работы этого механизма следующая. Вы пытаетесь (try) выполнить блок кода, и, если при этом возникает ошибка, система возбуждает (throw) исключение, которое в зависимости от его типа вы можете перехватить (catch) или передать умалчиваемому (finally) обработчику.
Ниже приведена общая форма блока обработки исключений.
try {
// блок кода}
catch (ТипИсключения1 е) {
// обработчик исключений типа ТипИсключения1 }
catch (ТипИсюпочения2 е) {
// обработчик исключений типа ТипИсключения2
Интервал:
Закладка: