I did the following, i got a stackoverflow error after some time, and I understand why it was.
public class Cat {
String name=\"default name\";
Cat i
There can be multiple constructors. Thus, you can have another constructor
public Cat(){...}
That would allow you to create an inside Cat. Afterwards you could create another Cat that contains the inside Cat. Obviously, the design might not be great here, depending on your needs. Dave Newton's answer about linked list is a great real world example of this usage.