русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Объявление верхнего уровня


Дата добавления: 2015-06-12; просмотров: 884; Нарушение авторских прав


Далее модуль компиляции может содержать одно или несколько объявлений классов и интерфейсов. Подробно формат такого объявления рассматривается в следующих лекциях, однако приведем краткую инфор­мацию и здесь.

Объявление класса начинается с ключевого слова class, интерфейса - interface. Далее указывается имя типа, а затем в фигурных скобках опи­сывается тело типа. Например:

package first;

class FirstClass { }

interface Mylnterface { }

Область видимости типа - пакет, в котором он описан. Из других па­кетов к типу можно обращаться либо по составному имени, либо с помо­щью импортирующих выражений.

Однако, кроме области видимости, в Java также есть средства разгра­ничения доступа. По умолчанию тип объявляется доступным только для других типов своего пакета. Чтобы другие пакеты также могли использо­вать его, можно указать ключевое слово public:

package second;

public class OpenClass { }

public interface Publiclnterface { }

Такие типы доступны для всех пакетов.

Объявления верхнего уровня описывают классы и интерфейсы, хранящиеся в пакетах. В версии Java 1.1 были введены внутренние (inner) типы fbt, которые объявляются внутри других типов и являются их элементами наряду с полями и методами. Данная возможность является вспомогатель­ной и довольно запутанной, поэтому в курсе подробно не рассматривается, хотя некоторые примеры и пояснения помогут в целом ее освоить.

Если пакеты, исходный и бинарный код хранятся в файловой системе, то Java может накладывать ограничение на объявления классов в модулях компиляции. Это ограничение создает ошибку компиляции в случае, ес­ли описание типа не обнаруживается в файле с названием, составленным из имени типа и расширения (например, Java), и при этом:

•тип объявлен как public и, значит, может использоваться из других
пакетов;



•тип используется из других модулей компиляции в своем пакете.
Эти условия означают, что в модуле компиляции может быть максимум один тип, отвечающий этим условиям. Другими словами, в модуле компиляции может быть максимум один public тип, и его имя и имя файла должны совпадать. Если же в нем есть He-public типы, имена которых не совпадают с именем файла, то они должны использоваться только внутри этого модуля компиляции.

Если же для хранения пакетов применяется БД, то такое ограничение не должно накладываться.

На практике же программисты зачастую помещают в один модуль компиляции только один тип, независимо от того, public он или нет, это существенно упрощает работу с ними. Например, описание класса space.sun.Size хранится в файле space\sun\Size.java, а бинарный код -в файле Size.class в том же каталоге. Именно так устроены все стандарт­ные библиотеки Java.

Обратите внимание, что при объявлении классов вполне допускают­ся перекрестные обращения. В частности, следующий пример совершен­но корректен:

package test;

* Класс Human, описывающий человека

class Human {String name; Car car; // принадлежащая человеку машина }

Класс Car, описывающий автомобиль class Car {String model; Human driver; // водитель, управляющий машиной}

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



<== предыдущая лекция | следующая лекция ==>
Импорт выражения | Уникальность имен пакетов


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.864 сек.