Найти тему
DEBAGanov

Java 35. Что такое класс POJO? Приведите пример такого класса.

Класс POJO - это простой Java-класс, который не зависит от каких-либо фреймворков или библиотек и следует определенным правилам. POJO означает "Plain Old Java Object" (Простой старый Java-объект) и используется для передачи данных между различными слоями приложения.

Правила для POJO класса включают в себя:

  • Класс должен быть public и иметь пустой конструктор.
  • Переменные экземпляра класса должны быть private и иметь геттеры и сеттеры для доступа к ним.
  • Должны быть реализованы методы toString(), equals() и hashCode().
  • Класс не должен реализовывать никаких интерфейсов или наследоваться от других классов, которые не являются также POJO.

Вот пример POJO класса в Java для представления пользователя:

public class User {
private Long id;
private String name;
private int age;

public User() {}

public Long getId() {
return id;
}

public void setId(Long id) {
this.id = id;
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public int getAge() {
return age;
}

public void setAge(int age) {
this.age = age;
}

@Override public String toString() {
return "User{" +
"id=" + id +
", name='" + name + '\'' +
", age=" + age +
'}';
}

@Override public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
User user = (User) o;
return age == user.age && Objects.equals(id, user.id) && Objects.equals(name, user.name);
}

@Override public int hashCode() {
return Objects.hash(id, name, age);
}
}

Обратите внимание, что переменные класса private и имеют геттеры и сеттеры для доступа к ним. Также класс имеет пустой конструктор, методы toString(), equals() и hashCode(). Класс также не наследуется от других классов или не реализует интерфейсы, которые не являются POJO.

1606 вопрос-ответ по Java: https://github.com/DEBAGanov/interview_questions

Tелеграмм канал: https://t.me/DEBAGanov

Мое резюме: https://github.com/DEBAGanov