Составители:
Рубрика:
50
полняются автоматически.
6.7 Области видимости переменных
Область видимости переменной определяется уровнем вложенно-
сти окружающих ее операторных скобок {}. Любая группа операторов
может быть объединена в блок операторными скобками, но мы пока
будем рассматривать только необходимые вложения. Самая внешняя
пара скобок – скобки описания класса. Все переменные, описанные
внутри этих и только этих скобок доступны всем элементам класса и
называются
глобальными переменными. Глобальная переменная с
модификатором доступности public называется полем. Инициализиро-
вать глобальную переменную необязательно.
Следующий уровень необходимого вложения – блок описания ме-
тода. Переменная, описанная в этом блоке, называется локальной. Об-
ласть ее видимости ограничена блоком описания метода, а время жиз-
ни – временем действия метода. Локальная переменная инициализиру-
ется обязательно. Локальная
переменная экранирует одноименную
глобальную переменную.
6.8 Наследование
Наследование - это прямое заимствование у класса, объявленного
базовым (или родительским), доступных переменных и методов.
Класс, объявивший себя расширением другого класса, может, в прин-
ципе, ничего кроме заголовка не описывать.
6.9 Наследование как иерархия объектов
Технически наследование реализуется созданием цепочки объектов,
выстроенных в соответствии с иерархией наследования. При создании
объекта его конструктор явно или неявно вызывает конструктор роди-
тельского класса и так поступает каждый конструктор. На вершине
этой цепочки оказывается объект типа java.lang.Object.
51
6.10 Иерархическое приведение производных типов
Ссылочная переменная, связанная с нижним элементом цепочки
наследования, может быть прикреплена к любому вышестоящему зве-
ну. То есть, тип ссылочной переменной может быть изменен на любой
из высших типов в иерархии наследования. Такое приведение произ-
водных типов называется восходящим. Изменения типа в обратном
направлении называется нисходящим, и может быть произведено
только
как обратное ранее выполненному восходящему.
Преобразование типа выполняется аналогично преобразованию
встроенных типов:
AClass a=new AClass();
SuperClassA s=(SuperClassA) a;
AClass a2=(AClass) s;
Восходящее преобразование типа может выполняться неявно.
При восходящем преобразовании типа происходит ограничение ви-
димости элементов рамками того класса, к которому приведена ссылка
на объект. Так, если ссылку на объект некоторого класса MyClass при-
вести к типу java.lang.Object :
MyClass one=new MyClass();
Object o=(Object) one;
то по ссылке o будут доступны только методы, описанные классом
java.lang.Object
6.11 Уровень доступности элементов
и наследование
В Java определены четыре уровня доступа к элементам классов:
9 публичный – без всяких ограничений
9 защищенный – условно-публичный
9 пакетный – ограниченный принадлежностью к пакету
9 приватный – ограниченный рамками класса
Эти четыре уровня определяются соответствующими модификато-
рами доступа
9 public
Страницы
- « первая
- ‹ предыдущая
- …
- 24
- 25
- 26
- 27
- 28
- …
- следующая ›
- последняя »