代码如下:
//小鸟类:
public abstract class Bird {
//小鸟会飞,但是不同颜色的鸟飞行方式不一样
public abstract void fly();
}
//BlueBird类:
/*
* 蓝冰:蓝色小鸟,飞行方式:分成3个
*/
public class BlueBird extends Bird {
//重写抽象方法
@Override
public void fly() {
System.out.println("蓝冰,飞行过程可以一变三");
}
}
//RedBird类:
/*
* 红火:红色小鸟,飞行方式:正常,
*/
public class RedBird extends Bird {
//重写抽象方法
@Override
public void fly() {
System.out.println("红色的小鸟,正常飞行");
}
}
//YellowBird类:
/*
* 黄风:黄色小鸟,飞行方式:加速
*/
public class YellowBird extends Bird {
//重写抽象方法
@Override
public void fly() {
System.out.println("黄风,可以加速飞行");
}
}
//Slingshot类:
/*
* 弹弓类:有一个发射方法,将小鸟弹出去
*/
public class Slingshot {
public void shot(Bird bird) {
bird.fly();
}
}
//测试Demo类:
public class Demo {
public static void main(String[] args) {
//创建一个弹弓
Slingshot slingshot=new Slingshot();
//创建红,黄,蓝各种鸟
RedBird redBird=new RedBird();
BlueBird blueBird=new BlueBird();
YellowBird yellowBird=new YellowBird();
//弹射
slingshot.shot(redBird);
slingshot.shot(blueBird);
slingshot.shot(yellowBird);
}
}