
- •Особенности реализации основных фундаментальных свойств ооп в Java.
- •Классы и объекты.
- •3. Динамическая инициализация объектов.
- •Модификаторы класса.
- •Ограничения доступа к элементам класса.
- •Методы класса, конструкторы.
- •Основы наследования: понятие суперкласса и подкласса, организация связей при наследовании.
- •8. Модификаторы ограничения доступа к элементам при наследовании.
- •Перегрузка, переопределение методов и их применение.
- •Использование ключевого слова final при наследовании.
- •11. Понятие и использование абстрактных классов.
- •12.Интерфейсы. Определение интерфейсов.
- •13. Интерфейсы. Реализация интерфейсов.
- •14. Интерфейсы. Пример применения интерфейсов.
- •15. Байтовые и символьные потоки ввода/вывода в Java.
- •16. Чтение консольного ввода.
- •17. Запись консольного вывода.
- •18. Чтение и запись файлов.
- •19. Обработка строк. String-конструкторы
- •20. Обработка строк. Длина строки. Конкатенация строк.
- •24. Использование операторов try и catch, множественные операторы catch.
- •25. Основы работы в сети. Понятие клиента и сервера.
- •26. Адресация в Internet.
- •27. Сетевые протоколы. Протоколы tcp/ip и udp.
- •32. Использование ключевых слов super, super()
Особенности реализации основных фундаментальных свойств ооп в Java.
Основан на синтаксисе С
Развитая система типов («абстракция», «инкапсуляция», «типизация»)
Одиночное наследование классов и множественное наследование интерфейсов («иерархия»)
Развитая система пакетов («модульность»)
Обработка исключений
Автоматическая сборка мусора
Обеспечение конкурентного доступа к данным при многопоточности («параллелизм»)
Отсутствие низкоуровневого управления памятью
Развитая библиотека (с поддержкой «сохраняемости»)
Классы и объекты.
Класс – это шаблон для объекта.
Объект – это экземпляр класса. Данные класса называются переменными экземпляра. Каждый объект содержит собственную копию этих переменных. Метод предназначен для обработки данных.
3. Динамическая инициализация объектов.
Получение объектов класса − это двухшаговый процесс.
Во-первых, нужно объявить переменную типа «класс». Она не определяет объект. Это просто переменная, которая может ссылаться на объект.
Во-вторых, нужно получить актуальную, физическую копию объекта и назначать ее этой переменной. Это можно сделать с помощью операции new.
Операция new распределяет динамически (т.е. во время выполнения) память для объекта и возвращает ссылку на нее. Данная ссылка является адресом ячейки памяти, выделенной объекту вышеуказанной операцией. Затем эта ссылка сохраняется в переменной. Таким образом, в Java все объекты класса должны быть распределены динамически.
Box mybox = new Box();
Box mybox;
mybox = new Box();
Модификаторы класса.
public – класс доступен для использования, наследования вне зависимости от пакета или от каталога; public-классы должны храниться в файлах с именем имя_класса.java.
friendly – модификатор класса по умолчанию, если модификатор не определен явно для класса. Такой класс доступен только для объектов, находящихся в том же пакете. Вне пакета он выступает как private.
final – класс не может быть наследован, т.е. иметь подклассов.
abstract – класс, в котором объявлен хотя бы один абстрактный метод. Для таких классов нельзя создавать объекты. Такие классы используются для производных классов, а также для организации стандартизированных интерфейсов.
Ограничения доступа к элементам класса.
Атрибут
Разрешенный доступ
Отсутствие атрибута доступа
Из любого класса в том же пакете
public
Из любого класса откуда угодно
private
Никакого доступа вне класса
protected
Из любого класса в том же пакете и из любого подкласса где угодно
Методы класса, конструкторы.
Класс содержит в себе конструктор, который называется по названию класса. Если мы имеем public class myClass, то и конструктор , будет выглядить так же: public myClass(int arg) {...}. Конструктор может не принимать переменных, а может принимать и ни одну. Ничто не мешает нам создать множество различных конструкторов.
Метод представляет собой блок кода, содержащий набор инструкций. Программа инициирует выполнение операторов, вызывая метод и задавая необходимые аргументы метода. Ссылка. В отличие от конструктора, метод может возвращать значение, для этого используется ключевое слово return;