Студопедия
Главная страница | Контакты | Случайная страница

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

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

Читайте также:
  1. В 11 классах
  2. в 11 классах
  3. В наших примерах мы ни разу не рассматривали конструкторы классов, поэтому при создании экземпляров наших классов вызывался конструктор класса object.
  4. В тексте работы таблицы, рисунки, диаграммы и т.д. имеют сквозную нумерацию. Название и заголовок должны располагаться на одной странице с ним.
  5. Вес функции; вес класса эквивалентности
  6. Выступление 10 класса
  7. Выступление 10 класса
  8. Выступление 11 класса
  9. Выступление 11 класса
  10. Государство — орудие эксплуатации угнетенного класса

Вначале указываются модификаторы класса. Модификаторы доступа для класса уже обсуждались. Допустимым является public, либо его отсутствие - доступ по умолчанию. Класс может быть объявлен как final. В этом случае не допускается создание наследников такого класса. На своей ветке наследования он является последним. Класс String и классы–обертки, например, являются final-классами. После списка модификаторов указывается ключевое слово class, а затем имя класса–корректный Java–идентификатор. Таким образом, кратчайшим объявлением класса может являться такой модуль компиляции:

class A {};

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

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

final class LastChild extends Parent {}

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

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

— A является прямым наследником B;

— либо существует класс C, который является наследником B, а A является наследником C (это правило применяется рекурсивно).

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

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

class A extends B {}

class B extends C {}

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

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

public final class String implements Serializable, Comparable {}

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




Дата добавления: 2015-09-11; просмотров: 83 | Поможем написать вашу работу | Нарушение авторских прав

Предназначение модификаторов доступа | Объявление конструкторов | Инициализаторы | Индивидуальные задания |


lektsii.net - Лекции.Нет - 2014-2025 год. (0.006 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав