Have you had a look at the Java Tutorial chapter on Threads? Threads have a constructor. The API documentation for java.lang.Thread demonstrates the use of it. The main method is the initial entry point of a program. Threads are lightweight processes created within a program, so they don't have a main.