基于JAVA继承和多态特性的初步案例书写

将抽象类作为父类,子类实现了父类中的抽象方法

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();
	}
	
}

猜你喜欢

转载自blog.csdn.net/weixin_43059252/article/details/95319469