русс | укр

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

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

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

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


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

Заголовок класса


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


Вначале указываются модификаторы класса. Модификаторы досту­па для класса уже обсуждались. Допустимым является public, либо его от­сутствие -- доступ по умолчанию.

Класс может быть объявлен как final. В этом случае не допускается создание наследников такого класса. На своей ветке наследования он яв­ляется последним. Класс String и классы-обертки, например, представля­ют собой final-классы.

После списка модификаторов указывается ключевое слово class, а затем имя класса — корректный Java-идентификатор. Таким образом, кратчайшим объявлением класса может быть такой модуль компиляции:

class А {}

Фигурные скобки обозначают тело класса, но о нем позже.

Указанный идентификатор становится простым именем класса. Полное составное имя класса строится из полного составного имени па­кета, в котором он объявлен (если это не безымянный пакет), и простого имени класса, разделенных точкой. Область видимости класса, где он мо­жет быть доступен по своему простому имени, — его пакет.

Далее заголовок может содержать ключевое слово extends, после ко­торого должно быть указано имя (простое или составное) доступного не-final класса. В этом случае объявляемый класс наследуется от указанного класса. Если выражение extends не применяется, то класс наследуется на­прямую от Object. Выражение extends Object допускается и игнорируется.

class Parent {} // = class Parent extends Object {}

final class LastChild extends Parent {}

// class WrongChild extends LastChild {} // ошибка!!

Попытка расширить final-класс приведет к ошибке компиляции. Если в объявлении класса А указано выражение extends В, то класс А называют прямым наследником класса В.

Класс А считается наследником класса В, если: • А является прямым наследником В;

• существует класс С, который является наследником В, а А является наследником С (это правило применяется рекурсивно).



Таким образом, можно проследить цепочки наследования на несколь­ко уровней вверх.

Если компилятор обнаруживает, что класс является своим наследни­ком, возникает ошибка компиляции:

// пример вызовет ошибку компиляции

class А extends В {}

class В extends С {}

class С extends А {} // ошибка! Класс А стал своим наследником

Далее в заголовке может быть указано ключевое слово implements, за которым должно следовать перечисление через запятую имен (простых или составных, повторения запрещены) доступных интерфейсов:

public final class String implements Serializable, Comparable {}

В этом случае говор5гг, что класс реализует перечисленные интерфейсы как видно из примера, класс может реализовывать любое количество ин­терфейсов. Если выражение implementsотсутствует, то класс действительно не реализует никаких интерфейсов, здесь значений по умолчанию нет.

Далее следует пара фигурных скобок, которые могут быть пустыми или содержать описание тела класса.



<== предыдущая лекция | следующая лекция ==>
Private | Тело класса


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


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

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

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


 


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

 
 

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

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