public  class  Sprite  
{  
   ...  
   public  Sprite(Animation  anim)  
     {  
       this.anim=anim;  
     }  
}  
 
public  class  Player  extends  Sprite  
{  
 ...  
 public  Player(Animation  anim)      //生成Sprite对象而不是Player对象????  
       {  
         super(anim);  
         state=STATE_NORMAL;  
       }  
}  
 
public  class  Test  
{  Animation  anim=new  Animation();  
   Player  player;  
   player=new  Player(anim);//报错,未定义Player(Animation)  
}  
 
主要是调用Player构造函数生成Sprite对象而不是Player对象????  
不知道这是什么原因,谁能告诉我怎么修改?

解决方案 »

  1.   

    public static void main(String args[]){
        Animation anim = new Animation();
        Player player;
        player = new Player(anim); //报错,未定义Player(Animation)
      }放到main函数里面去
      

  2.   

    class Animation{}
    class Sprite {
      Animation anim;
      public Sprite(Animation anim) {
        this.anim = anim;
      }
    }class Player
        extends Sprite {
      public Player(Animation anim) { //生成Sprite对象而不是Player对象????
        super(anim);
      }
    }public class Test {
      public static void main(String args[]){
        Animation anim = new Animation();
        Player player;
        player = new Player(anim); //报错,未定义Player(Animation)
      }
    }这样是没问题的,lz自己看吧
      

  3.   

    支持起,我也觉得是写了三个public类在一个类里面.或者就不是你写出来这些代码的问题.