现在假设有一个晚会,规定了节目样式和节目顺序。下面写一段简单的代码:
@Test
public void demo1(){
System.out.println("晚会现在开始");
//周杰伦唱歌
new Jielun().sing();
//刘谦表演魔术
new Liuqian().magic();
//迈克尔杰克逊跳舞
new Michael().dance();
System.out.println("晚会结束");
}
这是用Java代码模拟的一场晚会,顺序就是唱歌、表演魔术、跳舞。
突然,周杰伦不能来了,这个时候就要改一个歌手。怎么改呢,就直接改就好了。
//new Jielun().sing();
//周杰伦不能来了,由陈奕迅来给大家演唱
new Eason().sing();
换来换去都还是歌手。这个时候我们就可以抽象出一个接口Singer
/**
* 歌手的接口,每个歌手都应实现这个接口
*/
interface Singer(){
void sing();
}
其它的也可以抽出接口
/**
* 魔术师的接口
*/
in