- •Аннотация
 - •Лекция 1. Что такое Java? История создания.
 - •1. Что такое Java?
 - •2. История создания Java
 - •2.1. Сложности внутри Sun Microsystems
 - •2.2. Проект Green
 - •2.3. Компания FirstPerson
 - •2.4. World Wide Web
 - •2.5. Возрождение Oak
 - •2.6. Java выходит в свет
 - •3. История развития Java
 - •3.1. Браузеры
 - •3.2. Сетевые компьютеры
 - •3.3. Платформа Java
 - •4. Заключение
 - •5. Контрольные вопросы
 - •Аннотация
 - •1. Основы объектно-ориентированного программирования
 - •1.1. Методология процедурно-ориентированного программирования
 - •1.2. Методология объектно-ориентированного программирования
 - •1.3. Объекты
 - •1.3.1. Состояние.
 - •1.3.2. Поведение
 - •1.3.3. Уникальность
 - •1.4. Классы
 - •1.4.1. Инкапсуляция
 - •1.4.2. Полиморфизм
 - •1.5. Типы отношений между классами
 - •1.5.1. Агрегация
 - •1.5.2. Ассоциация
 - •1.5.3. Наследование
 - •1.5.4. Метаклассы
 - •1.6. Достоинства ООП
 - •1.7. Недостатки ООП
 - •1.8. Заключение
 - •1.9. Контрольные вопросы
 - •Аннотация
 - •Лекция 3. Лексика языка
 - •1. Лексика языка
 - •1.1. Кодировка
 - •1.2. Анализ программы
 - •1.2.1. Пробелы
 - •1.2.2. Комментарии
 - •1.2.3. Лексемы
 - •1.3. Виды лексем
 - •1.3.1. Идентификаторы
 - •1.3.2. Ключевые слова
 - •1.3.3. Литералы
 - •1.3.3.1. Целочисленные литералы
 - •1.3.3.2. Дробные литералы
 - •1.3.3.3. Логические литералы
 - •1.3.3.4. Символьные литералы
 - •1.3.3.5. Строковые литералы
 - •1.3.3.6. Null литерал
 - •1.3.3.7. Разделители
 - •1.3.3.8. Операторы
 - •1.3.3.9. Заключение
 - •1.4. Дополнение: Работа с операторами
 - •1.4.1. Операторы присваивания и сравнения
 - •1.4.2. Арифметические операции
 - •1.4.3. Логические операторы
 - •1.4.4. Битовые операции
 - •1.5. Заключение
 - •1.6. Контрольные вопросы
 - •Аннотация
 - •Лекция 4. Типы данных
 - •1. Введение
 - •2. Переменные
 - •3. Примитивные и ссылочные типы данных
 - •3.1. Примитивные типы
 - •3.2. Целочисленные типы
 - •4. Дробные типы
 - •5. Булевский тип
 - •6. Ссылочные типы
 - •6.1. Объекты и правила работы с ними
 - •6.2. Класс Object
 - •6.3. Класс String
 - •6.4. Класс Class
 - •7. Заключение
 - •8. Заключение
 - •9. Контрольные вопросы
 - •Аннотация
 - •Лекция 5. Имена. Пакеты
 - •1. Введение
 - •2. Имена
 - •2.1. Простые и составные имена. Элементы.
 - •2.2. Имена и идентификаторы
 - •2.3. Область видимости (введение)
 - •3. Пакеты
 - •3.1. Элементы пакета
 - •3.2. Платформенная поддержка пакетов
 - •3.3. Модуль компиляции
 - •3.3.1. Объявление пакета
 - •3.3.2. Импорт-выражения
 - •3.3.3. Объявление верхнего уровня
 - •3.4. Уникальность имен пакетов
 - •4. Область видимости имен
 - •4.1. "Затеняющее" объявление (Shadowing)
 - •4.2. "Заслоняющее" объявление (Obscuring)
 - •5. Соглашения по именованию
 - •6. Заключение
 - •7. Контрольные вопросы
 - •Аннотация
 - •Лекция 6. Объявление классов
 - •1. Введение
 - •2. Модификаторы доступа
 - •2.1. Предназначение модификаторов доступа
 - •2.2. Разграничение доступа в Java
 - •3. Объявление классов
 - •3.1. Заголовок класса
 - •3.2. Тело класса
 - •3.3. Объявление полей
 - •3.4. Объявление методов
 - •3.5. Объявление конструкторов
 - •3.6. Инициализаторы
 - •4. Дополнительные свойства классов
 - •4.1. Метод main
 - •4.2. Параметры методов
 - •4.3. Перегруженные методы
 - •5. Заключение
 - •6. Контрольные вопросы
 - •Аннотация
 - •Лекция 7. Преобразование типов
 - •1. Введение
 - •2. Виды приведений
 - •2.1. Тождественное преобразование
 - •2.2. Преобразование примитивных типов (расширение и сужение)
 - •2.3. Преобразование ссылочных типов (расширение и сужение)
 - •2.4. Преобразование к строке
 - •2.5. Запрещенные преобразования
 - •3. Применение приведений
 - •3.1. Присвоение значений
 - •3.2. Вызов метода
 - •3.3. Явное приведение
 - •3.4. Оператор конкатенации строк
 - •3.5. Числовое расширение
 - •3.5.1. Унарное числовое расширение
 - •3.5.2. Бинарное числовое расширение
 - •4. Тип переменной и тип ее значения
 - •5. Заключение
 - •6. Контрольные вопросы
 - •Аннотация
 - •1. Введение
 - •2. Статические элементы
 - •3. Ключевые слова this и super
 - •4. Ключевое слово abstract
 - •5. Интерфейсы
 - •5.1. Объявление интерфейсов
 - •5.2. Реализация интерфейса
 - •5.3. Применение интерфейсов
 - •6. Полиморфизм
 - •6.1. Поля
 - •6.2. Методы
 - •6.3. Полиморфизм и объекты
 - •7. Заключение
 - •8. Контрольные вопросы
 - •Аннотация
 - •Лекция 9. Массивы
 - •1. Введение
 - •2. Массивы, как тип данных в Java
 - •2.1. Объявление массивов
 - •2.2. Инициализация массивов
 - •2.3. Многомерные массивы
 - •2.4. Класс массива
 - •3. Преобразование типов для массивов
 - •3.1. Ошибка ArrayStoreException
 - •3.2. Переменные типа массив, и их значения
 - •4. Клонирование
 - •4.1. Клонирование массивов
 - •5. Заключение
 - •6. Контрольные вопросы
 - •Аннотация
 - •Лекция 10. Операторы и структура кода
 - •1. Управление ходом программы
 - •2. Нормальное и прерванное выполнение операторов
 - •3. Блоки и локальные переменные
 - •4. Пустой оператор
 - •5. Метки
 - •6. Оператор if
 - •7. Оператор switch
 - •8. Управление циклами
 - •8.1. Цикл while
 - •8.2. Цикл do
 - •8.3. Цикл for
 - •9. Операторы break и continue
 - •9.1. Оператор continue
 - •9.2. Оператор break
 - •10. Именованные блоки
 - •11. Оператор return
 - •12. Оператор synchronized
 - •13.1. Причины возникновения ошибок
 - •13.2. Обработка исключительных ситуаций
 - •13.2.1. Конструкция try-catch
 - •13.2.2. Конструкция try-catch-finally
 - •13.3. Использование оператора throw
 - •13.4. Обрабатываемые и необрабатываемые исключения
 - •13.5. Создание пользовательских классов исключений
 - •13.6. Переопределение методов и исключения
 - •13.7. Особые случаи
 - •14. Заключение
 - •15. Контрольные вопросы
 - •Аннотация
 - •Лекция 11. Пакет java.awt
 - •1. Введение
 - •2. Апплеты
 - •2.1. Тег HTML <Applet>
 - •2.2. Передача параметров
 - •2.3. Контекст апплета
 - •2.4. Отладочная печать
 - •2.5. Порядок инициализации апплета
 - •2.6. Перерисовка
 - •2.7. Задание размеров графических изображений
 - •2.8. Простые методы класса Graphics
 - •2.9. Цвет
 - •2.9.1. Методы класса Color
 - •2.10. Шрифты
 - •2.10.1. Использование шрифтов
 - •2.10.2. Позиционирование и шрифты: FontMetrics
 - •2.10.3. Использование FontMetrics
 - •2.10.4. Центрирование текста
 - •3. Базовые классы
 - •4. Основные компоненты
 - •5. Менеджеры компоновки
 - •6. Окна
 - •7. Меню
 - •8. Обработка событий
 - •8.1. Рисование "каракулей" в Java
 - •8.2. Рисование "каракулей" с использованием встроенных классов
 - •9. Заключение
 - •10. Контрольные вопросы
 - •Аннотация
 - •Лекция 12. Потоки выполнения. Синхронизация
 - •1. Введение
 - •2. Многопоточная архитектура
 - •3. Базовые классы для работы с потоками
 - •3.1. Класс Thread
 - •3.2. Интерфейс Runnable
 - •3.3. Работа с приоритетами
 - •3.4. Демон-потоки
 - •4. Синхронизация
 - •4.1. Хранение переменных в памяти
 - •4.2. Модификатор volatile
 - •4.3. Блокировки
 - •5. Методы wait(), notify(), notifyAll() класса Object
 - •6. Контрольные вопросы
 - •Аннотация
 - •Лекция 13. Пакет java.lang.
 - •1. Введение
 - •2. Object
 - •3. Class
 - •4. Wrapper Classes
 - •4.1. Integer
 - •4.2. Character
 - •4.3. Boolean
 - •4.4. Void
 - •5. Math
 - •6. Строки
 - •6.1. String
 - •6.2. StringBuffer
 - •7. Системные классы
 - •7.1. ClassLoader
 - •7.2. SecurityManager - менеджер безопасности
 - •7.3. System
 - •7.4. Runtime
 - •7.5. Process
 - •8. Потоки исполнения
 - •8.1. Runnable
 - •8.2. Thread
 - •8.3. ThreadGroup
 - •9. Исключения
 - •10. Заключение
 - •11. Контрольные вопросы
 - •Аннотация
 - •Лекция 14. Пакет java.util
 - •1. Введение
 - •2. Работа с датами и временем
 - •2.1. Класс Date
 - •2.2. Классы Calendar и GregorianCalendar
 - •2.3. Класс TimeZone
 - •2.4. Класс SimpleTimeZone
 - •3. Интерфейс Observer и класс Observable
 - •4. Коллекции
 - •4.1. Интерфейсы
 - •4.1.1. Интерфейс Collection
 - •4.1.2. Интерфейс Set
 - •4.1.3. Интерфейс List
 - •4.1.4. Интерфейс Map
 - •4.1.5. Интерфейс SortedSet
 - •4.1.6. Интерфейс SortedMap
 - •4.1.7. Интерфейс Iterator
 - •4.2. Aбстрактные классы используемые при работе с коллекциями.
 - •4.3. Конкретные классы коллекций
 - •4.4. Класс Collections
 - •5. Класс Properties
 - •6. Интерфейс Comparator
 - •7. Класс Arrays
 - •8. Класс StringTokenizer
 - •9. Класс BitSet
 - •10. Класс Random
 - •11. Локализация
 - •11.1. Класс Locale
 - •11.2. Класс ResourceBundle
 - •12. Заключение
 - •13. Контрольные вопросы
 - •Аннотация
 - •Лекция 15. Пакет java.io
 - •1. Система ввода/вывода. Потоки данных (stream)
 - •1.1. Классы InputStream и OutputStream
 - •1.2. Классы-реализации потоков данных
 - •1.2.1. Классы ByteArrayInputStream и ByteArrayOutputStream
 - •1.2.2. Классы FileInputStream и FileOutputStream
 - •1.2.3. PipedInputStream и PipedOutputStream
 - •1.2.4. StringBufferInputStream
 - •1.2.5. SequenceInputStream
 - •1.3. Классы FilterInputStreeam и FilterOutputStream. Их наследники.
 - •1.3.1. BufferedInputStream и BufferedOutputStream
 - •1.3.2. LineNumberInputStream
 - •1.3.3. PushBackInputStream
 - •1.3.4. PrintStream
 - •1.3.5. DataInputStream и DataOutputStream
 - •2. Serialization
 - •2.1. Версии классов
 - •3. Классы Reader и Writer. Их наследники.
 - •4. Класс StreamTokenizer
 - •5. Работа с файловой системой.
 - •5.1. Класс File
 - •5.2. Класс RandomAccessFile
 - •6. Заключение
 - •7. Контрольные вопросы
 - •Аннотация
 - •Лекция 16. Введение в сетевые протоколы
 - •1. Основы модели OSI
 - •2. Physical layer (layer 1)
 - •3. Data layer (layer 2)
 - •3.1. LLC sublayer.
 - •3.2. MAC sublayer.
 - •4. Network layer (layer 3)
 - •4.1. Class A
 - •4.2. Class B
 - •4.3. Class CClass DClass E
 - •5. Transport layer (layer 4)
 - •6. Session layer (layer 5)
 - •7. Presentation layer (layer 6)
 - •8. Application layer (layer 7)
 - •9. Утилиты для работы с сетью
 - •9.1. IPCONFIG (IFCONFIG)
 - •9.3. Ping
 - •9.4. Traceroute
 - •9.5. Route
 - •9.6. Netstat
 - •9.7. Задания для практического занятия
 - •10. Пакет java.net
 - •11. Заключение
 - •12. Контрольные вопросы
 
Программирование на Java
Лекция 6. Объявление классов
20 января 2003 года
Авторы документа:
Николай Вязовик (Центр Sun технологий МФТИ) <vyazovick@itc.mipt.ru> Евгений Жилин (Центр Sun технологий МФТИ) < gene@itc.mipt.ru>
Copyright © 2003 года Центр Sun технологий МФТИ,ЦОС и ВТ МФТИ®, Все права защищены.
Аннотация
Центральная тема курса – объявление классов, поскольку любое Java-приложение является набором классов.
Первый рассматриваемый вопрос – система разграничения доступа в Java. Описывается, зачем вообще нужно управление доступом в ОО-языке программирования, и как оно осуществляется в Java. Затем подробно рассматривается структура объявления заголовка класса и его тела, которое состоит из элементов (полей и методов), конструкторов и инициализаторов. Дополнительно описывается сигнатура метода main, с которого начинается работа Java-приложения, правила передачи параметров различных типов в методы, перегруженные методы.
Rendered by www.RenderX.com
ii  | 
	
  | 
	
  | 
Оглавление  | 
	
  | 
|
Лекция 6. Объявление классов ........................................................................................  | 
	1  | 
|
1.  | 
	Введение ........................................................................................................................  | 
	1  | 
2.  | 
	Модификаторы доступа..................................................................................................  | 
	2  | 
  | 
	2.1. Предназначение модификаторов доступа...........................................................  | 
	2  | 
  | 
	2.2. Разграничение доступа в Java..............................................................................  | 
	5  | 
3.  | 
	Объявление классов.......................................................................................................  | 
	9  | 
  | 
	3.1. Заголовок класса....................................................................................................  | 
	9  | 
  | 
	3.2. Тело класса...........................................................................................................  | 
	10  | 
  | 
	3.3. Объявление полей...............................................................................................  | 
	11  | 
  | 
	3.4. Объявление методов...........................................................................................  | 
	12  | 
  | 
	3.5. Объявление конструкторов.................................................................................  | 
	16  | 
  | 
	3.6. Инициализаторы...................................................................................................  | 
	22  | 
4.  | 
	Дополнительные свойства классов.............................................................................  | 
	24  | 
  | 
	4.1. Метод main............................................................................................................  | 
	24  | 
  | 
	4.2. Параметры методов.............................................................................................  | 
	25  | 
  | 
	4.3. Перегруженные методы.......................................................................................  | 
	27  | 
5.  | 
	Заключение....................................................................................................................  | 
	28  | 
6.  | 
	Контрольные вопросы...................................................................................................  | 
	28  | 
Программирование на Java
Rendered by www.RenderX.com
