Мой опыт создания класса с внутренним классом в Java
Привет! Сегодня я хотел бы поделиться своим опытом создания класса с внутренним классом в Java. В частности, я создал класс Park, который содержит внутренний класс Attraction. Внутренний класс Attraction представляет собой аттракцион, а класс Park управляет массивом аттракционов.
Шаг 1⁚ Создание класса Park
Сначала я создал класс Park и объявил в нем приватное поле count, которое представляет собой количество аттракционов в парке. Затем я создал конструктор Park(int count), который инициализирует count и создает массив аттракционов заданного размера. В конструкторе я также инициализирую поле attractions, которое будет использоваться для хранения аттракций.
java
public class Park {
private int count;
private Attraction[] attractions;
public Park(int count) {
this.count count;
attractions new Attraction[count];
}
// ...}
Шаг 2⁚ Создание внутреннего класса Attraction
Затем я создал внутренний класс Attraction. Каждый аттракцион будет иметь свое имя, поэтому я добавил приватное поле name в класс Attraction. Также я написал геттер и сеттер для имени аттракциона, чтобы можно было получить и установить его значение.
java
public class Park {
// ... private class Attraction {
private String name;
public String getName {
return name;
}
public void setName(String name) {
this.name name;
}
}
// ...}
Шаг 3⁚ Методы для добавления аттракционов и вывода всех
Далее я добавил два метода в класс Park ౼ addAttraction(String name) и displayAttractions. Метод addAttraction(String name) принимает имя аттракциона и создает новый объект Attraction с этим именем. Затем он добавляет этот объект в массив attractions.
Метод displayAttractions просто выводит все аттракционы из массива attractions с помощью цикла for-each.
java
public class Park {
// ...
public void addAttraction(String name) {
Attraction attraction new Attraction;
attraction.setName(name);
for (int i 0; i < attractions.length; i ) {
if (attractions[i] null) {
attractions[i] attraction;
break;
}
}
}
public void displayAttractions {
for (Attraction attraction ⁚ attractions) {
if (attraction ! null) {
System.out.println(attraction.getName);
}
}
}
// ...}
Теперь, когда у меня есть класс Park с внутренним классом Attraction, я могу создать экземпляр класса Park, добавить аттракционы и вывести их.
java
public class Main {
public static void main(String[] args) {
Park park new Park(5);
park.addAttraction(″Американские горки″);
park.addAttraction(″Карусель″);
park.addAttraction(″Колесо обозрения″);
park.displayAttractions;
}
}
Результатом выполнения кода будет⁚
Американские горки
Карусель
Колесо обозрения
Это был мой опыт создания класса с внутренним классом в Java. Я надеюсь, что это поможет вам лучше понять, как это работает и как применять внутренние классы в своих проектах.