Автоматические методы доступа record в Java
У обычного класса поля часто читают через
getTitle(). У record для каждого компонента
компилятор добавляет публичный метод с тем же
именем, что у компонента, без префикса get:
record Post(String title, int views) {}
Создадим запись и вызовем методы доступа title и views:
Post post = new Post("News", 12);
System.out.println(post.title());
System.out.println(post.views());
Вызов выглядит как обращение к полю, но это обычный метод без параметров. Он возвращает значение, переданное в конструктор:
Post post = new Post("Guide", 40);
String head = post.title();
int count = post.views();
System.out.println(head + " " + count);
Имена методов совпадают с именами компонентов и не меняются, даже если тип компонента сложный. Так читают данные в циклах, условиях и при передаче в другие методы:
public class Main {
static void printViews(Post post) {
System.out.println(post.views());
}
public static void main(String[] args) {
printViews(new Post("Tips", 5));
}
}
Сделайте record Employee с компонентами
name и salary.
Создайте сотрудника и выведите оклад через
метод доступа во второй строке, имя - в первой.
Дан record Employee(String title, int views)
и объект new Employee("Draft", 0).
Выведите на экран заголовок, вызвав метод
title().