Программирование мобильных телефонов
Введение
Глава 1. Устройство мобильных телефонов
Глава 2. Платформа Java 2 Micro Edition
Глава 3. Средства разработки мобильных
приложений
Глава 4. Телефонные эмуляторы
Глава 5. Механизм работы приложений Java 2
ME
Глава 6. Классы пользовательского интерфейса
Глава 7. Программирование графики
Глава 8. Техника создания игр
Глава 9. Мобильная мультимедиа-библиотека
Заключение
Приложение 1. Основы языка Java
Приложение 2. Справочник по Java 2 Micro Edition
Программирование на Java
Введение
Глава 1. Встроенные типы данных, операции
над ними
Глава 2. Объектно-ориентированное
программирование в Java
Глава 3. Пакеты и интерфейсы
Глава 4. Классы-оболочки
Глава 5. Работа со строками
Глава 6. Классы-коллекции
Глава 7. Классы-утилиты
Глава 8. Принципы построения графического
интерфейса
Глава 9. Графические примитивы
Глава 10. Основные компоненты
Глава 11. Размещение компонентов
Глава 12. Обработка событий
Глава 13. Создание меню
Глава 14. Апплеты
Глава 15. Изображения и звук
Глава 16. Обработка исключительных ситуаций
Глава 17. Подпроцессы
Глава 18. Потоки ввода/вывода
Глава 19. Сетевые средства Java
Приложение. Развитие Java
|
Конструкторы
класса
Вы уже обратили внимание на то,
что в операции new, определяющей экземпляры класса, повторяется имя класса со
скобками. Это похоже на обращение к методу, но что за "метод", имя
которого полностью совпадает с именем класса?
Такой "метод" называется
конструктором класса
(class constructor). Его своет образие заключается
не только в имени. Перечислим особенности конструктора.
-
Конструктор имеется в любом классе.
Даже если вы его не написали, компилятор Java сам создаст
конструктор по
умолчанию
(default constructor), который, впрочем, пуст, он не делает
ничего, кроме вызова конструктора суперкласса.
-
Конструктор выполняется автоматически
при создании экземпляра класса, после распределения памяти и обнуления полей,
но до начала использования создаваемого объекта.
-
Конструктор не возвращает никакого
значения. Поэтому в его описании не пишется даже слово
void
,
но можно задать один из трех модификаторов
public
,
protected
или
private
.
-
Конструктор не является методом,
он даже не считается членом класса. Поэтому его нельзя наследовать или переопределить
в подклассе.
-
Тело конструктора может начинаться:
-
с вызова одного из конструкторов
суперкласса, для этого записывается слово
super()
с параметрами в скобках, если они нужны;
-
с вызова другого конструктора
того же класса, для этого записывается слово
this()
с параметрами в скобках, если они нужны.
Если же
super()
в начале конструктора не указан, то вначале выполняется конструктор суперкласса
без аргументов, затем происходит инициализация полей значениями, указанными
при их объявлении, а уж потом то, что записано в конструкторе.
Во всем остальном конструктор можно
считать обычным методом, в нем разрешается записывать любые операторы, даже
оператор
return
, но только пустой, без всякого возвращаемого
значения.
В классе может быть несколько конструкторов.
Поскольку у них одно и то же имя, совпадающее с именем класса, то они должны
отличаться типом и/или количеством параметров.
В наших примерах мы ни разу не рассматривали
конструкторы классов, поэтому при создании экземпляров наших классов вызывался
конструктор класса
object
.
-
|
|