My left-right-shooter game tutorial will probably help you a great deal: http://theflashconnection.com/conten...t-shooter-game
It doesn't use classes, but it does use arrays and loops, and collision detection, and everything is explained every step of the way in detail. Later, if you want, you can create the same or a similar game using classes, but you will probably find that you will usually want to do your collision detection from the "client" object anyway (the object that has actually MADE all the instances of enemies and bullets). Even though my tutorial doesn't use classes "per se," in a way it does, as library symbols are very much like classes, and in fact can be linked to classes.
No, you can't hit test two classes. In fact, you can't program a class to do anything at all (unless it's a static class), you must create objects (or "instances") from those classes. A class is used like a rubber stamp to produce objects, and every object gets its own "copy" of the properties and methods.