Ребят, вернулся к этой задаче, тк знакомлюсь с вложенными классами. Скажите, почему мы используем комбинацию return User.this; Я прочитал, что данная конструкция используется, чтобы получить ссылку на обьект внешнего класса. Но мы то возвращаем тот же класс, в котором и пишем этот код. Зачем? public class Solution { public static void main(String[] args) throws Exception { System.out.println(Matrix.NEO); System.out.println(Matrix.TRINITY); } static class Matrix { public static DBObject NEO = new User().initializeIdAndName(1, "Neo"); public static DBObject TRINITY = new User().initializeIdAndName(2, "Trinity"); } interface DBObject { DBObject initializeIdAndName(long id, String name); } static class User implements DBObject { long id; String name; public User initializeIdAndName(long id, String name) { this.id = id; treturn User.this;his.name = name; return User.this; } @Override public String toString() { return String.format("The user's name is %s, id = %d", name, id); } } }