I am working my way through java resources and putting together some functionality as self training but I have a fundamental issue which I really don't understand.
My issue is when I am creating a large application / solution (call it what you will) how should I be creating it in terms of files.
I have read / experimented with the package, but the limitation on the number of main clauses therein does not seem to make it so useful to act as a thing that can 'bundle' together
Am I then supposed to building many classes saved in separate files, one per class, ideally keeping each class as simple as it can be, all of which stand alone and then writing a 'central' main class which essentially pulls it all together?
To make this a more tangible example I am intending to write a form which will be used to invoke various programs, schedule various programs and so the main would as I see it be the form functionality, buttons, events, all of that.
The classes that the form invokes would be classes, each in their separate files, each previously tested and compiled.
Where I need the form to pass in variables / objects then I write interfaces and where the form needs to know that program 'X' has completed or is scheduled then I return and catch a variable to this extent.
Do I understand this correctly?
1 File = Main Class
x Files = Classes etc
Main calls Classes