题目的表述如下:
(1)创建接口Eatable
public interface Eatable{
public void howToEat();
}
(2)创建下列两组类,每种可吃对象必须能够实现Eatable接口。
创建Animal 类及其子类Tiger,Chicken,和Elephant,其中Chicken类必须实现Eatable接口。
创建Fruit类及其子类Apple和Orange,因为水果可吃,所以类Fruit要实现Eatable接口。在Fruit类中,给出howToEat方法的通用实现,在Apple类和Orange类中,给出howToEat方法的特殊实现。
(3)在每一个类中重写toString方法,以返回类名。
(4)创建测试程序,包含main方法和showObject方法。在main 方法声明和创建Object类型的四个实例,分别为老虎、小鸡、苹果和桔子。然后调用showObject方法显示对象。下面是showObject方法。
public static void showObject(Object object){
System.out.println(object);
if(object instanceof Eatable){
((Eatable)object).howToEat();
}
}
以下是我编译的,有错误为通过,请高手改正
interface Eatable {
public void howToEat();
}
class Animal {
public String toString(){
return "Animal";
}
}
class Chicken extends Animal implements Eatable{
public String toString(){
return "Chicken";
}
public void howToEat(){
System.out.println("好吃...");
}
}
class Tiger extends Animal {
public String toString(){
return "Tiger";
}
}
class Fruit implements Eatable{
public String toString(){
return "Fruit";
}
public void howToEat(){
}
}
class Apple extends Fruit{
public String toString(){
return "Apple";
}
public void howToEat(){
System.out.println("吃苹果...");
}
}
class Orange extends Fruit{
public String toString(){
return "Orange";
}
public void howToEat(){
System.out.println("吃橘子...");
}
}
public class Eat{
public static void main(String args[]){
Object chicken=new Object();
Object tiger=new Tiger();
Object apple=new Apple();
Object orange=new Orange();
chicken.showObject();
tiger.showObject();
apple.showObject();
orange.showObject();
}
public static void showObject(Object object){
System.out.println(object);
if(object instanceof Eatable){
((Eatable)object).howToEat();
}
else System.out.println("不能吃啊");
}
}