Задачу я решил, вот условие, ниже будет решение и вопрос: Создать класс Cat (кот) с пятью инициализаторами: - Имя, - Имя, вес, возраст - Имя, возраст (вес стандартный) - вес, цвет (имя, адрес и возраст неизвестны, это бездомный кот) - вес, цвет, адрес (чужой домашний кот) Задача инициализатора - сделать объект валидным. Например, если вес неизвестен, то нужно указать какой-нибудь средний вес. Кот не может ничего не весить. То же касается возраста и цвета. А вот имени может и не быть (null). То же касается адреса: null. Требования: 1. У класса Cat должна быть переменная name с типом String. 2. У класса Cat должна быть переменная age с типом int. 3. У класса Cat должна быть переменная weight с типом int. 4. У класса Cat должна быть переменная address с типом String. 5. У класса Cat должна быть переменная color с типом String. 6. У класса должен быть метод initialize, принимающий в качестве параметра имя, но инициализирующий все переменные класса, кроме адреса. 7. У класса должен быть метод initialize, принимающий в качестве параметров имя, вес, возраст и инициализирующий все переменные класса, кроме адреса. 8. У класса должен быть метод initialize, принимающий в качестве параметров имя, возраст и инициализирующий все переменные класса, кроме адреса. 9. У класса должен быть метод initialize, принимающий в качестве параметров вес, цвет и инициализирующий все переменные класса, кроме имени и адреса. 10. У класса должен быть метод initialize, принимающий в качестве параметров вес, цвет, адрес и инициализирующий все переменные класса, кроме имени. ВОТ РЕШЕНИЕ, КОТОРОЕ ПРОШЛО ПРОВЕРКУ:
public class Cat {
    private String name;
    private int weight;
    private int age;
    private String color;
    private String address;

    public void initialize(String name) {
        this.name = name;
        this.weight = weight + 1;
        this.age = age + 1;
        this.color = color + "серобурокозявчатый";
        this.address = null;
    }
    public void initialize(String name, int weight, int age) {
        this.name = name;
        this.weight = weight;
        this.age = age;
        this.color = color + "серобурокозявчатый";
        this.address = null;
    }
    public void initialize(String name, int age) {
        this.name = name;
        this.weight = weight;
        this.age = age;
        this.color = color;
        this.address = null;
    }
    public void initialize(int weight, String color) {
        this.name = null;
        this.weight = weight;
        this.age = age + 1;
        this.color = color;
        this.address = null;
    }
    public void initialize(int weight, String color, String address) {
        this.name = null;
        this.weight = weight;
        this.age = age + 1;
        this.color = color;
        this.address = address;
    }//напишите тут ваш код
}
Вопрос: почему вот в этом блоке решение прошло?
public void initialize(String name, int age) {
       this.name = name;
       this.weight = weight;
       this.age = age;
       this.color = color;
       this.address = null;
   }
По логике мне нужно было вписать здесь в this.weight = weight + 1; а здесь this.color = color + "серобурокозявчатый"; Не понимаю... Или я вообще неправильно сделал, а решение по ошибке приняло?...