JAVA面试(笔试题)

本文通过Java编程实现了一个战士和法师选择武器的模拟游戏。定义了角色和武器的类,包括战士(Soldier)、法师(Magicer)、剑(Sword)、刀(Knife)和狼牙棒(Mace)等,展示了多态在游戏场景中的应用。玩家可以创建战士或法师,并为他们选择不同类型的武器,最后计算所有角色的攻击总值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

多态的调用

定义父类Role,定义属性name,两个子类Soldier和Magicer

定义父类武器Weapon,定义属性name,方法attack()攻击
三个子类Sword,Knife,Mace(狼牙棒),
其中Sword的attack伤害值为100
Knife的attack伤害值为200
Mace的attack伤害值为300
其中战士Solder和法师Magicer可以使用任意一种武器
从控制台输入指令
1>输入A,创建soldier
2>输入B,创建magicer
3>输入1,创建Sword
4>输入2,创建Knife
5>输入3,创建Mace
当战士和法师满5个时,而且每个角色配备自己选择的武器,

组队去攻击,求攻击总值


先定义战士和法士的父类
/*** 定义战士和法师公同父类 **/
public class Role {
   
	/*** 名字 **/
	String name;
	public Role(String name) {
   
		this.name = name;
	}
}

定义战士子类继承父类Role

public class Soldier extends Role {
   
	/***战士攻击的方法。返回本次的伤害值*/
	public Soldier() {
   
		super("战士");
	}
}

定义魔法师子类,继承父类Role

public class Magicer extends Role {
   
	public Magicer() {
   
		super("法师");
	}
}

定义武器父类

public class Weapon {
   
	String name;
	public Weapon(String name) {
   
		this.name = name;
	}
	public int attack() {
   //武器攻击力
		return 0;
	}
	
}

分别定义武器的三个子类,并继承父类的属性`

/**剑**/
public class Sword extends Weapon {
   
	public Sword() {
   //返回其武器的名字
		super(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

子言君

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值