ind1 is an instance variable, so it gets initialized whenever you create an instance of OutClass. However, to initialize ind1, you create another instance of OutClass, which in turn contains another ind1 instance variable, which will be initialized by creating another instance of OutClass, which in turn contains another ind1 instance variable, ....
And so the constructor calls pile on, until the JVM runs out of stack memory. This causes your StackOverflowError.
Put another way, here's a depiction of what happens when your program executes:
[ November 03, 2007: Message edited by: Kelvin Lim ]