Вроде все правильно сделал, а выдает постоянно ошибку.
public class Cat {
    //напишите тут ваш код
    public static ArrayList<Cat> cats = new ArrayList<Cat>(10);

    public Cat() {
        cats.add(new Cat());
    }

    public static void main(String[] args) {
        //напишите тут ваш код

        for (int i = 0; i< 10; i++)
            new Cat();

        printCats();
    }

    public static void printCats() {
        //напишите тут ваш код
        for (int i = 0; i < cats.size(); i++) {
            System.out.println(cats.get(i));
        }
    }
}
Вывод на консоль:
Exception in thread "main" java.lang.StackOverflowError
	at com.javarush.task.task06.task0614.Cat.<init>(Cat.java:14)
	at com.javarush.task.task06.task0614.Cat.<init>(Cat.java:14)
	at com.javarush.task.task06.task0614.Cat.<init>(Cat.java:14)
	at com.javarush.task.task06.task0614.Cat.<init>(Cat.java:14)
	at com.javarush.task.task06.task0614.Cat.<init>(Cat.java:14)
    at com.javarush.task.task06.task0614.Cat.<init>(Cat.java:14)
	at com.javarush.task.task06.task0614.Cat.<init>(Cat.java:14)
	at com.javarush.task.task06.task0614.Cat.<init>(Cat.java:14)

Process finished with exit code 1