Всем привет!
Не могу понять, почему одна инициализация проходит, а другие нет.
Тема вообще дается трудно и мало что понятно, надеюсь конечно дальше будет легче - но сейчас пока не могу найти ошибку.
Может какой нибудь добрый человек объяснить?
Сам полез в гугл :)
package com.javarush.task.task05.task0510;
/*
Кошкоинициация
*/
public class Cat {
//напишите тут ваш код
String name;
int age;
int weight;
String color;
String address;
public void initialize(String name){
this.name = "Vasaa";
}
public void initialize(String name,int weight, int age){
this.name = "Vasa";
this.weight = 20;
this.age = 20;
}
public void initialize(String name, int age){
this.name = "Caca";
this.weight = 40;
}
public void initialize(int weight, String color){
this.name = null;
this.color = "Grey";
this.address = null;
}
public void initialize(int weight, String color, String address) {
this.weight = 50;
this.color = "yellow";
this.address = null;
}
public static void main(String[] args) {
}
}
/*
Кошкоинициация
Создать класс Cat (кот) с пятью инициализаторами:
- Имя,
- Имя, вес, возраст
- Имя, возраст (вес стандартный)
- вес, цвет (имя, адрес и возраст неизвестны, это бездомный кот)
- вес, цвет, адрес (чужой домашний кот)
Задача инициализатора - сделать объект валидным.
Например, если вес неизвестен, то нужно указать какой-нибудь средний вес.
Кот не может ничего не весить.
То же касается возраста и цвета.
А вот имени может и не быть (null).
То же касается адреса: null.
Требования:
1. Программа не должна считывать данные с клавиатуры.
2. У класса Cat должна быть переменная name с типом String.
3. У класса Cat должна быть переменная age с типом int.
4. У класса Cat должна быть переменная weight с типом int.
5. У класса Cat должна быть переменная address с типом String.
6. У класса Cat должна быть переменная color с типом String.
7. У класса должен быть метод initialize, принимающий в качестве параметра имя, но инициализирующий все переменные класса, кроме адреса.
8. У класса должен быть метод initialize, принимающий в качестве параметров имя, вес, возраст и инициализирующий все переменные класса, кроме адреса.
9. У класса должен быть метод initialize, принимающий в качестве параметров имя, возраст и инициализирующий все переменные класса, кроме адреса.
10. У класса должен быть метод initialize, принимающий в качестве параметров вес, цвет и инициализирующий все переменные класса, кроме имени и адреса.
11. У класса должен быть метод initialize, принимающий в качестве параметров вес, цвет, адрес и инициализирующий все переменные класса, кроме имени.
*/