急求Java程序代码

来源:百度知道 编辑:UC知道 时间:2024/04/28 06:08:21
简介:火星上住着一些火星人,它们有自己成熟的文明,在它们的世界里,有三种种族,即侏儒族(dwelf race), 类人族(HumanLike race), 鱼人族(Aqua Race)。当然在火星类人族落中,人们拥有自己特有的职业,例如它们有称为“MarTeacher”的师父职业(可以教学生很多知识,技能的职业),也有称为“MarStudent”的学徒职业(主要负责接受知识和技能)。
另外需要提到的是,针对于不同的种族,它们有各自独自的特性,如侏儒族能够瞬间移动(instantMove), 类人族能够走路(walk),而鱼人族能够游泳(swim)。

你需要把以上的这个世界简单的抽象一些,要求如下:

一、 定义一个火星人的类(注意:它实际上是火星类人族的简称)。注意用类名MarPerson,在火星人下定义一个老师类和学生类,类名分别是MarStudent和MarTeacher。
要求:1. 方法的定义只是简单的描述返回信息。
2.构造函数按需要定义
[MarPerson(-name,-sex;+speak(),+intake())]<--{[MarTeacher(
-wage;+teach())],[MarStudent(-grade;+learn())]}

二、 定义humanlike接口,并使MarPerson实现类人族(humanlike)的接口,并实现其接口。
三、 把所有的定义类或接口定义在一个叫marworld的包下。
额外任务
四、 在MarPerson类中,定义一个id属性来标示火星人的身份号,再定义一个nextID的静态属性,在产生一个新的火星人对象时控制Id号的产生(一个顺序排列的号)。

思考:请自己抽象一下侏儒族和鱼人族的类,并实现相应的接口。

package MarWorld;
class MarPerson implements humanlike
{
int id;
protected int nextid=1;
MarPerson()
{
id=nextid;
nextid++;
}
protected String name;
protected String sex;
public void speak()
{
System.out.println("I'm a MarPerson!");
}
public void intake()
{
System.out.println("I'm intaking 300 calorie everyday!");
}
}
interface humanlike
{
void speak();
}

class MarTeacher extends MarPerson
{
private int wage;
public int getWage()
{
return wage;
}
public void setWage(int wage)
{
this.wage=wage;
}
public void teach()
{
System.out.println("teaching!");
}

}
class MarStudent extends MarPerson
{
private int grade;
public int getGrade()
{
return grade;
}
publi