class Child{
 
int putAppleNum;//对象属性 每个小 孩放的苹果数量
static int eatAppleNum;//类属性 小孩一共吃的苹果
//对象行为 无返回值
void eatApple(Basket basket,int appleNum){
basket.appleNum=basket.appleNum-appleNum;
Child.eatAppleNum=Child.eatAppleNum+appleNum;
}
void putApple(Basket basket,int appleNum){
basket.appleNum=basket.appleNum+appleNum;          //放苹果的行为
    this.putAppleNum=this.putAppleNum+appleNum;//当前小孩放的数量变化
    
}
 class Apple{

}
 class Basket{
int appleNum;}
}
class TestApple{public static void main(String[] args)
 {
  Child c1 = new Child();//创建小孩一
Child c2 = new Child();
      Basket b1 = new Basket();
Basket b2 = new Basket();
c1.putApple(b1,5);
c1.putApple(b2,3);
c2.putApple(b2,6);
c1.eatApple(b2,2);
c2.eatApple(b1,4);
System.out.println("c1 putAppleNum"+c1.putAppleNum);
System.out.println("c2 putAppleNum"+c1.putAppleNum);

System.out.println("b1 appleNum"+b1.appleNum);
System.out.println("b2 appleNum"+b2.appleNum);

System.out.println("Child eatAppleNum"+Child.eatAppleNum);

 }   
}

解决方案 »

  1.   

        由于内部类的不正确使用引起的,我没仔细看逻辑,编译了一下看错误,报错是找不到Basket类,很简单,Basket类是Child类的内部类,在外部new对象的时候不能这么干,下面是我改的两行,改完以后,编译就通过了:
         
      Child.Basket b1 = c1.new Basket();
      Child.Basket b2 = c2.new Basket();
      

  2.   

    是学生 大意了,把Basket类写在Child类里了 谢谢了