Paul,
Have you considered creating another track of assigments that focus on OO concepts?
My background is legacy systems development (i.e., assembler, COBOL, mainframe DB's, etc.) and I am trying to make the transition to emerging technologies.
For me, picking up the mechanics of this language is easy. What is difficult is making the transition to a new paradigm. I don't have the time, right now, to devote to reading books to gain an in-depth insight into object oriented concepts (I just know the basics), and a lot of the literature that is out there now is just confusing or over my head at the moment (i.e., ExtemeProgramming).
Jim states above that the main method is primarily used to create an instance of the class being implemented. This makes sense if I were designing and thinking in OO terms.
As it is now, I'm afraid that I will just be applying the
java language in the context of traditional program design. For example, I use main primarily to perform initial housekeepping (i.e., validate the parameters passed from the command line).
In fact, I am beginning to structure my applications along traditional programming lines (i.e., main invokes a method to do initial housekeeping, invokes a method to do most of the work, and then terminates).
This was probably not the intent of the developers of this language, but in absence of tasks that encourage using an object oriented approach, this is the most natural approach for me.
Any suggestions on how to get training (versus knowledge) in OO analysis and design?