解析:1)共同的变量->类变量可以实现这个要求-》static int waterAmount;

2)改变(动作):Village发出来的;查看(动作):Village发出来的。

所以,Village这个类就有两个动作,即两个成员函数——改变、查看,还得有个变量来表示人口,int peopleNumber。

3)Land类,主类-》public class Land,-》main,Village wuzhuang = new Village(),wuzhuang.SetPeopelNumber(XXXX); 或者 Village xwuzhuang = new Village(XXX), Village 2 = …

利用点操作符来调用改变和查看waterAmount的值。

public class Village {
    static int waterAmount;   //模拟水井的水量
    int peopleNumber;        //村庄的人数
    String name;            //村庄的名字
    Village(String s) {
        name = s;
    }
    static void setWaterAmount(int m) {
       if(m>0)
         waterAmount = m;
    } 
    void drinkWater(int n){
       if( waterAmount-n>=0) {
         waterAmount = waterAmount-n;
         System.out.println(name+"喝了"+n+"升水");
       }
       else
         waterAmount = 0;
    }
	public static int waterAmount() {
		// TODO Auto-generated method stub
	   return waterAmount;
	}  
    static int lookWaterAmount() {
       return waterAmount;
    }
    void setPeopleNumber(int n) {
       peopleNumber = n;
    } 
    int getPeopleNumber() {
       return peopleNumber;
    } 
}
public class Land {
	   public static void main(String args[]) {
	       Village.setWaterAmount(200); //用类名调用setWaterAmount(int m),并向参数传值200
	       int leftWater =Village.waterAmount(); //用Village类的类名访问waterAmount
	       System.out.println("水井中有 "+leftWater+" 升水");
	       Village fengzhuang,wuzhuang;
	       fengZhuang = new Village("冯庄");
	       wuzhuang = new Village("吴庄");
	       fengZhuang.setPeopleNumber(80);
	       wuzhuang.setPeopleNumber(120);
	       fengZhuang.drinkWater(50);//fengZhuang调用drinkWater(int n),并向参数传值50
	       leftWater = wuzhuang.lookWaterAmount(); //wuzhuang调用lookWaterAmount()方法
	       String name=wuzhuang.name;
	       System.out.println(name+"发现水井中有 "+leftWater+" 升水");
	       wuzhuang.drinkWater(100);
	       leftWater = fengZhuang.lookWaterAmount(); //fengZhuang调用lookWaterAmount()方法
	       name=fengZhuang.name; 
	       System.out.println(name+"发现水井中有 "+leftWater+" 升水");
	       int peopleNumber = fengZhuang.getPeopleNumber(); 
	       System.out.println("冯庄的人口:"+peopleNumber);
	       peopleNumber = wuzhuang.getPeopleNumber(); 
	       System.out.println("吴庄的人口:"+peopleNumber);
	    }
}

更多推荐