将抽象類作為父類,子類實作了父類中的抽象方法
public class practice_7 {
public static void main(String[] args) {
Leader leader=new Leader("zhangsan",20);
Solider road=new Road("sss", 55);
Solider sea=new Sea("tinghua", 30);
road.pushorder(road,sea);
road.getflag();
}
}
abstract class Solider{
private String name;
private int num;
public Solider(String name,int num){
this.name=name;
this.num=num;
}
public void prepared(){
System.out.println("拿武器");
System.out.println("到目的地");
}
public void end(){
System.out.println("打掃戰場");
}
public abstract void kill();
public void getflag(){
prepared();
kill();
end();
}
}
class Road extends Solider{
private String name;
private int num;
public Road(String name,int num){
super(name, num);
}
public void kill(){
System.out.println("拿起步槍");
System.out.println("我是步兵");
}
}
class Sea extends Solider{
private String name;
private int num;
public Sea(String name,int num){
super(name, num);
}
public void kill(){
System.out.println("拿起魚雷");
System.out.println("我是海軍");
}
}
class Leader extends Solider{
private String name;
private int num;
public Leader(String name,int num){
super(name, num);
}
public void kill(){
System.out.println("拿起戰旗");
System.out.println("我是司令官");
}
public void pushorder(Solider solider1,Solider solider2){
solider1.kill();
solider2.kill();
}
}