Usually, each class has its own file. When you create a new class, you create a new file. You're trying to shove all your classes into one file, which is giving you a headache.
You certainly can combine classes into a single file, if that actually fits your design. One way to do that is by nesting classes, where you have an inner class inside an outer class. This is useful when the inner class depends on something in the outer class, or when the inner class is only used in the outer class. The inner class can be static or non-static, based on the things I mentioned above.
Another way to do it, and what I think you're trying to do, is to simply list multiple classes inside a single file. The problem with that though, which the compiler is telling you about, is any classes other than the class for which the file is named must not be public. This is because the normal approach, with classes in different files, will not know where to find a class that is listed inside another class file!
Please split your classes up into multiple files, as I have no idea what you're trying to run.
Also, please see the tutorial on properly calling constructors:
Providing Constructors for Your Classes (The Java™ Tutorials > Learning the Java Language > Classes and Objects)