请教:一个关于线程的问题
请看下面的代码: 
 import   java.util.Random; 
 import   javax.microedition.lcdui.*; 
 import   javax.microedition.lcdui.game.GameCanvas;   
 public   class   MyCanvas   extends   GameCanvas   implements   Runnable{ 
       private   Graphics   graphics; 
       private   int   width,   height; 
       Thread   thread   =   new   Thread(new   MyCanvas());   
       protected   MyCanvas()   { 
                super(true); 
                graphics   =   this.getGraphics(); 
                width   =   getWidth(); 
                height   =   getHeight(); 
                thread.start(); 
       }   
       public   void   paint(Graphics   g)   { 
                setFullScreenMode(true); 
                g.setColor(0x000000); 
                g.fillRect(0,   0,   getWidth(),   getHeight()); 
                drawBackground(g); 
                drawHeart(g); 
       }   
       static   Image   createImage(String   imageName){ 
                Image   img   =   null; 
                try{ 
                               img   =   Image.createImage(imageName); 
                }catch(Exception   e){ 
                } 
                               return   img;    
       }   
       public   void   drawBackground(Graphics   g){ 
                Image   background   =   null; 
                background   =   createImage( "/image/bg_0.png "); 
                g.drawImage(background,   background.getWidth()   /   2,   background.getHeight()   /   2,   Graphics.HCENTER|Graphics.VCENTER); 
       }   
       public   void   drawSky(Graphics   g){ 
                Image   sky   =   null; 
                sky   =   createImage( "/image/shanxing.png "); 
                sky.getGraphics(); 
                g.drawImage(sky,   sky.getWidth()   /   2,   sky.getHeight()   /   2,   Graphics.HCENTER|Graphics.VCENTER); 
       }   
                .........   
       public   void   run()   { 
                boolean   isRunning   =   true; 
                while(isRunning){ 
                               drawSky(graphics); 
                               try   { 
                                              thread.sleep(80); 
                               }   catch   (InterruptedException   e)   { 
                                              e.printStackTrace();