Добрый вечер, уважаемые!
Дело в том, что в строках 14 и 15 IDE подчеркивает new User(), указывая при этом на не статический контекст.
Я все, что пришло в голову перепробовал, чтобы это обойти и не рушит остальной код в целом. Но не получается... Прошу вас подсказать.
p.s. почему-то не могу прикрепить код своего текущего решения, поэтому дублирую ниже.
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);
}
public class Matrix {
public static DBObject NEO = new User().initializeIdAndName(1, "Neo"); //строка 14
public static DBObject TRINITY = new User().initializeIdAndName(2, "Trinity"); // строка 15
}
interface DBObject {
User initializeIdAndName(long id, String name);
}
public class User implements DBObject {
long id;
String name;
@Override
public String toString() {
return String.format("The user's name is %s, id = %d", name, id);
}
public User initializeIdAndName(long id, String name) {
this.id = id;
this.name = name;
return this;
}
}
}
Hello
17 уровень
Не компилируется
Решен
Комментарии (1)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Ksenia Volkova Java Developer в DXC Master
11 октября 2021, 14:18решение
Класс User должен быть статическим. Как и Matrix.
+1