
- •Особенности реализации основных фундаментальных свойств ооп в Java.
- •2. Понятие и определение класса.
- •3. Динамическая инициализация объектов.
- •4. Модификаторы класса.
- •5.Ограничения доступа к элементам класса.
- •6. Методы класса. Метод main(). Конструкторы класса.
- •7. Основы наследования: понятие суперкласса и подкласса, организация связей при наследовании.
- •8. Модификаторы ограничения доступа к элементам при наследовании.
- •9. Перегрузка, переопределение методов и их применение.
- •10. Использование ключевого слова final при наследовании.
- •11. Понятие и использование абстрактных классов.
- •12.Интерфейсы. Определение интерфейсов.
- •14. Интерфейсы. Пример применения интерфейсов.
- •15. Байтовые и символьные потоки ввода/вывода в Java.
- •16. Чтение консольного ввода.
- •17. Запись консольного вывода.
- •18.Чтение и запись файлов
- •19. Обработка строк. String-конструкторы
- •20. Обработка строк. Длина строки. Конкатенация строк.
- •21.Обработка строк. Извлечение символов. Сравнение строк. Поиск подстроки.
- •22.Преобразование данных, использующее метод valueOf().
- •23. Основные принципы обработки исключений. Типы исключений.
- •24. Использование операторов try и catch, множественные операторы catch.
- •25. Основы работы в сети. Понятие клиента и сервера.
- •26. Адресация в Internet.
- •27. Сетевые протоколы. Протоколы tcp/ip и udp.
- •28. Сокеты tcp/ip клиентов.
- •29. Сокеты tcp/ip серверов.
- •30. Основные классы и интерфейсы реализации сетевого взаимодействия.
- •31. Использование ключевого слова this.
- •32. Использование ключевых слов super, super()
Особенности реализации основных фундаментальных свойств ооп в Java.
Основан на синтаксисе С
Развитая система типов («абстракция», «инкапсуляция», «типизация»)
Одиночное наследование классов и множественное наследование интерфейсов («иерархия»)
Развитая система пакетов («модульность»)
Обработка исключений
Автоматическая сборка мусора
Обеспечение конкурентного доступа к данным при многопоточности («параллелизм»)
Отсутствие низкоуровневого управления памятью
Развитая библиотека (с поддержкой «сохраняемости»)
2. Понятие и определение класса.
Класс – это базовая конструкция Java; шаблон для объекта. Объект – это экземпляр класса. Данные класса называются переменными экземпляра. Код класса – это методы.
Пример класса:
class HelloWorld {
public static void main(String args[])
{ System.out.println(“Моя первая Java-программа“); }}
3. Динамическая инициализация объектов.
Получение объектов класса − это двухшаговый процесс.
Во-первых, нужно объявить переменную типа «класс». Она не определяет объект. Это просто переменная, которая может ссылаться на объект.
Во-вторых, нужно получить актуальную, физическую копию объекта и назначать ее этой переменной. Это можно сделать с помощью операции new.
Операция new распределяет динамически (т.е. во время выполнения) память для объекта и возвращает ссылку на нее. Данная ссылка является адресом ячейки памяти, выделенной объекту вышеуказанной операцией. Затем эта ссылка сохраняется в переменной. Таким образом, в Java все объекты класса должны быть распределены динамически.
Box mybox = new Box();
Box mybox;
mybox = new Box();
4. Модификаторы класса.
Выделяют следующие модификаторы класса.
рublic – класс доступен для использования или расширения всем объектам вне зависимости от пакета или от каталога. Рublic-классы должны хранится в файлах с именем имя_класса.java.
friendly – модификатор класса по умолчанию, если модификатор не определен явно для класса. Такой класс доступен только для объектов, находящихся в том же пакете.
final – класс не может иметь подклассов, то есть производных классов.
abstract – класс, в котором объявлен хотя бы один абстрактный метод. Для таких классов нельзя создавать объекты. Такие классы используются для производных классов.
5.Ограничения доступа к элементам класса.
Атрибут |
Разрешенный доступ |
|
Отсутствие атрибута доступа |
Из любого класса в том же пакете |
|
public |
Из любого класса откуда угодно |
|
private |
Никакого доступа вне класса |
|
protected |
Из любого класса в том же пакете и из любого подкласса где угодно |
Public- метод или данные класса, которые имеют рublic доступы из любого места программы;
Private- нет никакого доступа к переменной этого класса;
Protected- переменная доступна из любого класса в том же пакете (папке) и из любого подкласса, где угодно;
Отсутствие атрибута доступа- переменная видна из любого класса в том же пакете.