Задача решена , но почему не создаёт ещё 1 конструктор????
Cat(String name, Cat parent2){
            this.name = name;
            this.parent2 = parent2;
        }


 BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));

        String grandFatherName = reader.readLine();
        Cat grandFather = new Cat(grandFatherName);

        String grandMotherName = reader.readLine();
        Cat grandMother = new Cat(grandMotherName);

        String catFatherName = reader.readLine();
        Cat catFather = new Cat(catFatherName,null, grandFather);

        String catMotherName = reader.readLine();
        Cat catMother = new Cat(catMotherName, grandMother);

        String sonName = reader.readLine();
        Cat catSon = new Cat(sonName, catMother, catFather);

        String daughterName = reader.readLine();
        Cat catDaughter = new Cat(daughterName, catMother, catFather);
        System.out.println(grandFather);
        System.out.println(grandMother);
        System.out.println(catFather);
        System.out.println(catMother);
        System.out.println(catSon);
        System.out.println(catDaughter);
    }

    public static class Cat {
        private String name;
        private Cat parent;
        private Cat parent2;

        Cat(String name) {
            this.name = name;
        }

        Cat(String name, Cat parent) {
            this.name = name;
            this.parent = parent;
        }

        Cat(String name, Cat parent, Cat parent2) {
            this.name = name;
            this.parent = parent;
            this.parent2 = parent2;
        }

        @Override
        public String toString() {
            if (parent == null & parent2 == null)
                return "Cat name is " + name + ", no mother , no father";
            else if (parent == null & parent2 !=null)
                return "Cat name is " + name + ", no mother , father is " + parent2.name;
            else if (parent != null & parent2 == null)
                return "Cat name is " + name + ", mother is " + parent.name + ", no father";
                else
                return "Cat name is " + name + ", mother is " + parent.name + ", father is " + parent2.name;
        }
    }

}
Решение получил, когда вставил в строчку null : String catFatherName = reader.readLine(); Cat catFather = new Cat(catFatherName,null, grandFather);