Основы объектно-ориентированного программирования. Стесик О.Л. - 25 стр.

UptoLike

Составители: 

48
staticмодификатор принадлежностиметоды, отмеченные
этим модификатором, принадлежат классу и доступны до создания
объектов. Используют только локальные переменные или глобальные
статические. По умолчаниюбез модификатора static - методы
принадлежат экземплярам класса и доступны только через экземпля-
ры.
Статические методы могут оперировать только статически-
ми или локальными переменными.
finalметод не может быть переопределен при наследовании
классу.
synchronizedпри исполнении метода не может произойти
переключение конкурирующих потоков
abstract – нереализованный метод. Тело такого метода про-
сто отсутствует.
native – метод, реализация которого выполнена на другом
языке программирования и разыскивается в системных библиотеках.
strictfp – метод требует выполнения арифметических дей-
ствий с абсолютной (не зависящей от платформы) точностью.
Имя метода внутри класса не должно быть уникальным: более того,
широко практикуется создание методов с одинаковыми именами, но с
различными наборами параметров. Это то, что традиционно называет-
ся перегрузкой (overloading) методов. С точки зрения русского языка
можно было
бы перевести этот термин как «совмещение» методов.
Имя метода, в наилучших традициях, отражает суть действий, произ-
водимых им; различные списки параметров являются необходимым и
достаточным атрибутом для того, чтобы безошибочно различать одно-
именные методы. Следует обратить внимание на то, что ни тип воз-
вращаемого значения, ни набор модификаторов, ни декларации throws
не
могут гарантировать этого различия.
49
6.5 Конструкторы
Конструкторобязательный элемент любого класса, классов без
конструктора просто не может быть, так как к классу, не описавшему
ни одного конструктора, компилятор автоматически добавляет конст-
руктор с пустым набором инструкций и пустым списком параметров.
Это так называемый конструктор по умолчанию.
Как и метод, конструктор представляет собой именованный набор
операторов, снабженный
списком формальных параметров с необяза-
тельной декларацией throws. Как и с методами, допускается «пере-
грузка» конструкторов; класс может иметь несколько конструкторов,
различающихся списками формальных параметров.
Но, в отличие от метода,
a) имя конструктора обязано совпадать с именем класса;
b) конструктор не может быть вызван иначе как оператором new;
c) конструктор не имеет возвращаемого
значениятак как он
возвращает ссылку на создаваемый объект.
Из модификаторов могут употребляться только модификаторы дос-
тупа. Конструкторы не наследуютсяони выполняются автоматиче-
ски при создании объекта класса-расширения.
6.6 Блоки инициализации
Блок инициализации представляют собой неименованные группы
операторов, размещенные на уровне класса, то есть, вне методов и
конструкторов. Блоки инициализации выполняются при загрузке клас-
са в память виртуальной машины, или при создании экземпляров клас-
са, в зависимости от наличия или отсутствия модификатора static.
Как было сказано, статические компоненты класса доступны сразу
после загрузки
класса виртуальной машиной. Блок операторов с мо-
дификатором static, размещенный на уровне описания класса, также
будет выполнен на этом этапе. На том же уровне можно разместить
блок динамической инициализациион будет выполнен при создании
объекта класса прежде конструктора.
Блоки инициализации, как и конструкторы, не наследуются, а ис-