You can actually just skip this first part cause it gets confusing, but I'll keep it here cause I want to know if anyone else feels the same way. I am a CS undergrad who has have been using Java for 3 years, and I still find it difficult to comprehend how to include the Main function into my design. It feels wrong to place it in a class all on its own, but it also feels wrong to insert it into another class file. I see the latter as such because it doesn't fit in with the rest of the class making it incohesive. I can't just stick a main function on my DocumentReader object, for example. It would have nothing to do with the object. On the other hand, I can't just make a Main class that only has a main function inside it because in object-oriented programming, you're supposed to think in terms of objects effectively creating a miniature world in your head. For that miniature world to revolve around a single object that does nothing but exist just seems off. It doesn't act as a narrator and character in a story because it does nothing, at the same time. I prefer C's style of having a Main function that is separate from everything. It keeps the narrative of the story separate from the characters that are interacting with one another.
I want to know how the professionals mix the main method into the rest of their code. How do you make it fit in with the rest of the design. Also, are they generally long or short?