跪求java大神帮忙,在线等答案!!!今晚就要交了!!!

2024-10-31 13:26:40
推荐回答(2个)
回答(1):

下面是代码,自己亲手敲的,测试方法没有写,你可以自己写下,我仅仅具体化了一个Bird对象,就是FatherBird和SonBird,你也可以具体化其他海中或者大陆上的动物...
/*
* 定义一个抽象的动物类,其他动物需要继承它,实现它的图形代表方法
*/
public abstract class Animal {
abstract void graphStand();
}
/*
* 接口记录动物们的动作反应
*/
public interface AnimalRespond {

public void keepSameDistance();
public void accessBoundary();

}
/**
*海洋中的动物
*/
public class OceanAnimal extends Animal implements AnimalRespond{

public void graphStand() {
System.out.println("这是海洋中的动物,它是由一个三角代表");
}
public void keepSameDistance() {
System.out.println("海洋动物保持距离");
}
public void accessBoundary() {
System.out.println("海洋动物到达边界,回头");
}
}
/*
* 空中动物
*/
public class SkyAnimal extends Animal implements AnimalRespond {

public void graphStand() {
System.out.println("这是空中的动物,它是由一个圆代表");
}
public void keepSameDistance() {
System.out.println("空中动物保持距离");
}
public void accessBoundary() {
System.out.println("空中动物到达边界,回头");
}
}
/*
* 大陆动物
*/
public class MainlandAnimal extends Animal implements AnimalRespond {

public void graphStand() {
System.out.println("这是大陆中的动物,它是由一个方块代表");
}
public void keepSameDistance() {
System.out.println("大陆动物保持距离");
}

public void accessBoundary() {
System.out.println("大陆动物到达边界,回头");
}
}
/**
* 这里的Bird是空中动物的一个代表可以是大雁可以是麻雀等等,如果他们有特殊的方法,值得肯定的是用接口来完成
*/
public class FatherBird extends SkyAnimal {

public void graphStand() {
super.graphStand();
}

public void keepSameDistance() {
super.keepSameDistance();
}

public void accessBoundary() {
super.accessBoundary();
}
}
public class SonBird extends FatherBird{

public void graphStand() {
super.graphStand();
}

public void keepSameDistance() {
super.keepSameDistance();
}

public void accessBoundary() {
super.accessBoundary();
}
}
/*
* SonBird仅仅作为一个子类来呈现,如果小鸟有特殊的方法,用接口实现
*/
public class SonBird extends FatherBird{

public void graphStand() {
super.graphStand();
}

public void keepSameDistance() {
super.keepSameDistance();
}

public void accessBoundary() {
super.accessBoundary();
}
}
如果需要测试方法,也可以写写。

回答(2):

来 我给你写··