编写一个小的程序,其中定义一些接口、类、抽象类,定义它们的成员(字段及方法), 要求使用使用setter/getter, static, final, abstract,@Override等语法要素,并写一个main函数来使用它们。
package eatwatermelon;
public class EatCompetition {
public static void main(String[] args) {
SmallAnimal a1=new SmallAnimal("Mickey Mouse",0.5);
SmallAnimal a2=new SmallAnimal("Cat",1);
SmallAnimal a3=new SmallAnimal("Xiyangyang",1.5);
SmallAnimal a4=new SmallAnimal("Huitailang",2.5);
SmallAnimal a5=new SmallAnimal("Tiger",3);
a1.eatwatermelon();
a1.stop();
a1.sleep();
a2.eatwatermelon();
a2.stop();
a2.sleep();
a3.eatwatermelon();
a3.stop();
a3.sleep();
a4.eatwatermelon();
a4.stop();
a4.sleep();
a5.eatwatermelon();
a5.stop();
a5.sleep();
}
}
//定义接口
interface Eatable{
public void eatwatermelon();
public void stop();
}
//定义动物类
abstract class animal{
abstract void wantEat(){}
abstract void sleep(){}
}
//定义小动物类
class SmallAnimal extends animal implements Eatable{
private double numOfMelon;
private String type;
SmallAnimal(String type,double numOfMelon){
this.numOfMelon=numOfMelon;
this.type=type;
}
public String getType() {
return type;
}
public void steType(String type) {
this.type=type;
}
public void steNumOfMelon(double numOfMelon) {
this.numOfMelon=numOfMelon;
}
public void wantEat() {
System.out.println(type+"饿了,想吃东西");
}
public void sleep() {
System.out.println(type+"吃饱了,睡了");
}
@Override
public void eatwatermelon() {
// TODO Auto-generated method stub
System.out.println(type+"开始吃西瓜了");
}
@Override
public void stop() {
// TODO Auto-generated method stub
System.out.println(type+"吃了"+numOfMelon+"个西瓜");
System.out.println(" 吃不下了");
}
}