public final class Person { private final @NonNull String name; + private final @Nullable String nickname; private final int age; - public Person(@NonNull String name, int age) { + public Person(@NonNull String name, @Nullable String nickname, int age) { this.name = name; + this.nickname = nickname; this.age = age; } + public Person(@NonNull String name, int age) { + this(name, null, age); + } + public @NonNull String getName() { return name; } + public @Nullable String getNickname() { return nickname; } public int getAge() { return age; } @Override public String toString() { - return "Person(name=" + name + ", age=" + age + ')' + return "Person(name=" + name + ", nickname=" + nickname + ", age=" + age + ')' } @Override public boolean equals(@Nullable Object o) { if (o == this) return…