It's give some kind of unknown exception.
There's no unknown exception. A complete stack trace of the exception should be output.
instead of it dispaly null , 0 (nul for instance t(Object) and 0 for i)
Again, you are calling the Test constructor recursively. Take a look at that (ugly) diagram to see what's happening. You're creating new Test instances from the Test constructor. It will loop endlessly.