package com.javarush.task.task13.task1306; //Philip said to him, "Lord, show us the Father, and that will be enough for us." (John 14:8) /* Баг в initializeIdAndName */ 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 { User initializeIdAndName(long id, String name); } static class User implements DBObject { long id; String name; @Override public String toString() { return String.format("User has name %s, id = %d", name, id); } @Override public User initializeIdAndName (long id, String name) { this.id = id; this.name = name; return new User(); } } } /* Баг в initializeIdAndName 1. Подумать, что в программе неправильно. 2. Вынести реализацию метода initializeIdAndName в класс User. 3. initializeIdAndName в классе User должен возвращать тип User. 4. Поправить программу, чтобы компилировалась и работала. Требования: 1. Интерфейс DBObject должен содержать только объявление метода initializeIdAndName без реализации. 2. Реализуй метод initializeIdAndName в классе User. 3. Метод initializeIdAndName в классе User должен иметь тип возвращаемого значения User. 4. Метод initializeIdAndName должен присваивать значения полям id и name в соответствии с переданными ему параметрами. package com.javarush.task.task13.task1306; /* Баг в initializeIdAndName */ 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) { this.id = id; this.name = name; return this; } } static class User implements DBObject { long id; String name; @Override public String toString() { return String.format("User has name %s, id = %d", name, id); } } } */