Hi Samac,
Your explanation is really good and helped clarify things but I still think I am missing the obvious. Can't see the wood for the trees type of thing.
This is what I have put together

Code:
package classes 
{ 
    import flash.display.*; 
    import flash.utils.getDefinitionByName; 
     
    public class SmileySwitch 
    { 
        public function SmileySwitch(smiley1:String) 
        { 
            var spot1:Class = getDefinitionByName(smiley1) as Class; 
            var position1 = new spot1();
            trace(position1);
           // return spot1; 
           this.addChild(spot1); 
            spot1.x = 40;
            spot1.y = 100;
        } 
    } 
}
In my SmileyTest.fla file I have

import classes.SmileySwitch

I was hoping this would display the smiley1 object in the library on the stage at x40/y100.

But I get nothing, the trace(position1) does not show in the Output window either. I keep looking at this thinking the bit I'm missing must be obvious but I cant see it.

The smiley1 image in the library has the following properties.
Class:smiley1, Base class: flash.display.Movieclip

I really appreciate your help. I think I should be able to work this out but after referring to some books and google I still can't find the answer.

The end goal of my self created exercise is to be able to import the numbers from 1 to 10 from a text file and add them to the word 'smiley' and then have the 10 smiley objects in the library named smiley1 to smiley10 appear on the stage. Step 1, get smiley1 to appear on the stage.