I seen many of the codes does not have main method and it has initialization and object creation everything within the constructor itself. What are the benefits of this coding style? Any performance improvement?
Real Java applications often consist of hundreds if not thousands of classes; only one of those needs to have a main() routine. The main() is generally used just to create a few objects, hook them up, and start some threads.
Of course, these days, there are far more "Web applications" than desktop applications; in these, the programmer doesn't write any main() at all. The main() routine is inside the application server, and the "webapp" programmer simply write classes that implement specific interfaces to create an application.
The only time you'll generally see an entire application written as one class is in a student program; programs in the real world are virtually never like that.
main is nothing more or less than the function the virtual machine calls to start your application. It's no different from any other function except for that.
You seem to be programming everything as a huge block of code in your main method. It's about time you started getting some good Java books and learning to use the language like it's intended and not as a substitute for GWBASIC.