Область видимости пакета Java

Область видимости пакета JavaМы уже встречались с модификаторами доступа public и private. Элементы, помеченные ключевым словом public, могут использоваться любым классом. Приватные элементы, то есть те, при определении которых использовались ключевое слово private, могут использоваться только тем классом, в котором они были определены. Если ни один модификатор доступа не указан, то элемент(класс, метод или переменная) доступен всем методам в том же самом пакете.

В процессе работы над программой разработчики часто забывают указать ключевое слово private. Вот пример из класса Window, принадлежащего пакету java.awt, который поставляется с пакетом JDK: Читать

Добавление классов в пакеты Java

Добавление классов в пакеты JavaЧтобы поместить класс в пакет, нужно указать имя пакета в начале исходного файла перед определением класса. Например, файл Employee.java начинается следующими строками:

Если оператор package в исходном файле не указан, то классы, описанные в этом файле, помещаются в пакет по умолчанию. Пакет по умолчанию не имеет имени. До сих пор все рассмотренные нами классы принадлежали пакету по умолчанию. Читать

Интерфейсы и обратный вызов

Интерфейсы и обратный вызовМеханизм обратного вызова(callback) широко распространен в программировании. При обратном вызове программист задает действия, которые должны выполняться всякий раз, когда происходит некоторое событие. Например, можно задать действие, которое должно быть выполнено после щелчка на некоторой кнопке или при выборе определенного пункта меню. Мы рассмотрим простую ситуацию.

Пакет javax.swing содержит класс Timer, который можно использовать для отсчета интервалов времени. Например, если в программе предусмотрены часы, то с помощью класса Timer можно отсчитывать каждую секунду и обновлять циферблат часов.

Устанавливая таймер, мы задаем интервал времени и указываем, что должно произойти по его истечении. Читать

Импортирование классов Java

Импортирование классов JavaКласс может использовать все классы из собственного пакета и все общедоступные классы из других пакетов. Доступ к классам их других пакетов можно получить двумя путями. Во первых, можно указывать полное имя пакета перед именем каждого класса. Например:

Очевидно, что этот способ слишком утомителен. Более простой и распространенный способ предусматривает применение ключевого слова import. В этом случае имя пакета перед именем класса записывать не обязательно. Читать

Полиморфизм Java

Полиморфизм JavaСуществует простое правило, позволяющее определить, стоит ли конкретной ситуации применять наследование или нет. Если между объектами существует  отношение «является» («is-a»), то каждый объект подкласса является объектом суперкласса. Например, каждый менеджер является сотрудником. Следовательно, имеет смысл сделать класс Manager подклассом класса Employee. Естественно, обратное утверждение неверно — не каждый сотрудник является менеджером.

Другой способ — принцип подстановки. Этот принцип гласит, что объект подкласса можно использовать вместо любого объекта суперкласса. Читать

Метод hashCode() Java

Метод hashCode() JavaХеш-код это целое число, генерируемое на основе конкретного объекта. Хеш-код можно рассматривать как некоторый шифр: если x и y — разные объекты, то с высокой степенью вероятности должны различаться результаты вызовов x.hashCode() и y.hashCode(). В классе String для вычисления хеш-кода используется следующий алгоритм: Читать

Выберите одно слово для каждой концепции

Выберите одно слово для представления одной абстрактной концепции и придерживаетесь его. Например, существование в разных классах эквивалентных методов с именами fetch, retrieve и get неизбежно создаст путаницу. Как запомнить, какой термин использовался в той или иной библиотеке или классе, нередко приходится помнить, какой компанией, группой или программистом эта библиотека была создана. В противном случае вы потратите массу времени на просмотр заголовков и предыдущих примеров кода. Читать

Использование консольного окна Java

Использование консольного окна JavaОтлаживая аплет, вы можете просматривать сообщения об ошибках в окне: в панели конфигурации Java Plug-in установите флажок Show Java Console. Окно Java Console снабжено полосами прокрутки, так что в нем можно просматривать довольно пространные сообщения. Пользователи Windows имеют несомненное преимущества над пользователями системы DOS, в окне которой обычно появляются данные из потоков System.err и System.out.

Как сгенерировать исключение Java

Как сгенерировать исключение JavaПредположим, что с вашей программой случилось нечто ужасное. У вас есть метод readData(), считывающий данные из файла, в заголовке которого указано следующиее:

Content-length: 1024

Однако посе воода 733 символов файл окончился. Вы считаете эту ситуацию настолько ненормальной, что решаете генерировать исключение. Теперь необходимо решить, какого типа должно быть исключение. Нам подходит одна из разновидностей класса IOException. Просматривая документацию, вы обнаруживайте описание исключения EOFException: «Сигнализирует о том, что во время ввода данных неожиданно обнаружен признак конца файла EOF». Отлично. Это исключение можно создать двумя способами: Читать

Обработчик ошибок Java

Обработчик ошибок JavaПредположим, что в ходе выполнения программы, написанной на языке Java обнаруживается ошибка. Она может быть вызвана неверной информацией в файле, неправильным сетевым соединением или выходом ща пределы допустимого диапазона изменения индексов массива, а может быть попыткой использования ссылки, которая не указывает на какой-либо объект. Вполне естественно, пользователи надеются, что программа самостоятельно справится с возникшими неприятностями. Если из-за ошибки какая-либо операция не может быть завершена, то программа должна сделать одно из двух. Читать