```java


import java.util.ArrayList;


import java.util.List;


import java.util.ListIterator;


List myList = new ArrayList<>();


myList.add("Apple");


myList.add("Banana");


myList.add("Cherry");


ListIterator iterator = myList.listIterator();


while (iterator.hasNext()) {


System.out.println(iterator.next());


}


```


В этом примере мы создаем список строк и добавляем в него несколько элементов. Затем итератор списка используем его для обхода элементов прямом порядке.


Вывод


В этой главе мы рассмотрели массивы и коллекции в Java, а также узнали, как использовать итераторы для обхода элементов коллекций. Мы увидели, что являются фундаментальными понятиями программировании на Java позволяют хранить манипулировать большими объемами информации. следующей рассмотрим более сложные темы, связанные с обработкой исключений многопоточностью Java.


Глава 3. Объектно-ориентированное программирование на Java


3.1. Классы и объекты


В предыдущих главах мы рассмотрели основы языка Java и научились создавать простые программы. Теперь пришло время погрузиться в один из наиболее важных аспектов объектно-ориентированного программирования (ООП) – классы объекты.


Что такое классы?


Класс – это шаблон или чертеж, который определяет структуру и поведение объекта. Он представляет собой набор переменных методов, которые описывают свойства действия можно рассматривать как форму шаблон, по которому создаются объекты.


Что такое объекты?


Объект – это экземпляр класса, который имеет свои собственные значения переменных и методов. Объекты инстансы классов, которые создаются в памяти компьютера во время выполнения программы. Каждый объект свойства поведение, определенные классом, на основе которого он был создан.


Пример класса и объекта


Давайте рассмотрим простой пример. Предположим, мы хотим создать класс "Автомобиль", который имеет свойства "марка", "модель" и "год выпуска", а также метод "едет". Мы можем "Автомобиль" следующим образом:


```java


public class Автомобиль {


private String марка;


private String модель;


private int годВыпуска;


public Автомобиль(String марка, String модель, int годВыпуска) {


this.марка = марка;


this.модель = модель;


this.годВыпуска = годВыпуска;


}


public void едет() {


System.out.println("Автомобиль едет!");


}


}


```


Теперь мы можем создать объект "моиАвтомобиль" на основе класса "Автомобиль":


```java


Автомобиль моиАвтомобиль = new Автомобиль("Toyota", "Camry", 2015);


```


Объект "моиАвтомобиль" имеет свои собственные значения переменных "марка", "модель" и "год выпуска", а также метод "едет", который мы можем вызвать:


```java


моиАвтомобиль.едет(); // Вывод: Автомобиль едет!


```


Наследование и полиморфизм


Классы и объекты также позволяют реализовать наследование полиморфизм. Наследование позволяет создавать новые классы на основе существующих, а полиморфизм объектам иметь разные формы поведение в зависимости от контекста.


Заключение


В этой главе мы рассмотрели основы классов и объектов в Java. Мы научились создавать классы объекты, а также поняли, как они связаны между собой. следующей рассмотрим более подробно наследование полиморфизм, другие важные аспекты ООП.


3.2. Наследование и полиморфизм


В предыдущей главе мы рассмотрели основы объектно-ориентированного программирования (ООП) и познакомились с концепцией классов объектов. Теперь перейдем к двум фундаментальным понятиям ООП: наследованию полиморфизму.


Наследование


Наследование – это механизм, позволяющий создавать новые классы на основе существующих. Идея наследования заключается в том, что новый класс (подкласс) может наследовать свойства и поведение от существующего класса (суперкласса). Это позволяет избежать дублирования кода более иерархическую структуру классов.