这是我妹子问我的,当时好久没写过Java了,不过纠结了一会还是做了出来……
题目如下:
下面是代码:
package a;
public interface Animal {
//接口里的抽象方法不可有方法体,空的也不行,直接加分号。
//注意是不需要参数的
public void cry() ;
public String getAnimalName();
}
package a;
public class Dog implements Animal {
@Override
public void cry() {
System.out.println("狗叫--汪汪");
}
@Override
public String getAnimalName() {
// TODO Auto-generated method stub
return "I'm a dog";
}
}
package a;
public class Cat implements Animal {
@Override
public void cry() {
// TODO Auto-generated method stub
System.out.println("猫叫--喵喵");
}
@Override
public String getAnimalName() {
// TODO Auto-generated method stub
return "I'm a cat";
}
}
package a;
public class Simulator {//注意此处不需要实现Animal接口
public void playSound(Animal animal) {
animal.cry();
animal.getAnimalName();
}
public static void main(String[] args) {
Simulator simulator = new Simulator();
simulator.playSound(new Dog());
simulator.playSound(new Cat());
}
}
当时想到的一个问题是接口做了参数,那需不需要实现借口呢,想了想,答案是否定的,只需要传递过来实现了接口的类即可。