Yes you should be fine, although the class you designate as your Document class does not have to be called "Main", it could be called anything. And your Ball class does not have to extend Main. What it does need to do is be in the same folder as your Main class so your Main class knows where to find the Ball.as source file.
So for example, you could type Ball.as in that textbox in the Document properties, and if your folders are set up the right way, your .fla file will look for Ball.as upon compiling, and then initialize an object of type Ball on playback and then add that to the stage. Or if you have another class, say, BallTest, you can set that as the Document class. In the BallTest constructor you would have lines like.
Code:
Ball ball1 = new Ball();
addChild(ball1);
You don't need to write stage.addChild() because BallTest is automatically added to the stage as the Document class.
You don't need any additional functions in your Document class, although you can always add them as desired. The .fla will automatically call the constructor of its Document class (if any) and nothing else, other methods will have to be called manually within the class.
At the minimum, this is all the code you'll need in order to get a ball onto your stage and moving forward every frame.
Code:
package
{
import flash.display.*;
public class Main extends MovieClip
{
private var:Ball ball1;
public function Main()
{
ball1 = new Ball();
addChild(ball1);
addEventListener(Event.ENTER_FRAME, frameLoop);
}
public function frameLoop(event:Event):void
{
ball1.x += 1;
}
}
}