Подскажиеа для чего создаются m типа cat, почему нельзя тот же стринг создать
Cat(String name, Cat m, Cat f) {
            this.name = name;
            this.m = m;
            this.f = f;