课堂练习:教材143页4.编程题
package duotai;
public interface Animal {
public abstract void cry();
public abstract String getAnimalName();
}
package duotai;
public class Simulator {
void playSound(Animal animal){
System.out.println(animal.getAnimalName());
animal.cry();
}
}
package duotai;
public class Dog extends Simulator implements Animal {
public void cry(){
System.out.println("wang wang wang");
}
public String getAnimalName(){
return "dog";
}
}
package duotai;
public class Cat extends Simulator implements Animal {
public void cry(){
System.out.println("miao miao miao");
}
public String getAnimalName(){
return "cat";
}
}
package duotai;
public class Test {
public static void main(String[] args) {
// TODO Auto-generated method stub
Simulator simulator=new Simulator();
simulator.playSound(new Dog());
simulator.playSound(new Cat());
}
}
注意
接口的方法只能是公共的抽象方法,即用关键字public和abstract修饰,但是这两个关键字可以省略。
接口和抽象类的用法类似!
接口和抽象类的区别:从语法上看一个类可以实现多个接口,但是一个类只能有一个父类。
接口的实现:通过类使用implements关键字类实现。