每日学习-Java基础(九)类和对象3(方法重载)

一、Hero类

// 类名每个单词首字母大写
// 变量名、方法名第一个单词首字母小写,第二个单词开始首字母大写
public class Hero {
	String name; // 英雄名称
	float hp; // 血量
	float armor; // 护甲
	int moveSpeed; // 移动速度
}

二、ADHero类

// 类和对象 3  方法重载 1  方法重载的概念
// 方法重载:方法名相同,参数类型或数量不同
// 使用时,根据传入的参数自动判断调用哪一个方法

// 物理攻击英雄
public class ADHero extends Hero {
	public void attack() {
		System.out.println(name + " 对 他人 进行了攻击,一顿操作猛如虎");
	}

	public void attack(Hero h1) {
		System.out.println(name + " 对 " + h1.name + " 进行了攻击,一顿操作……");
	}

	public void attack(Hero h1, Hero h2) {
		System.out.println(name + " 对 " + h1.name + " 和 " + h2.name
				+ " 进行了攻击,一顿操作……");
	}

	// 攻击了多个英雄
	// 可变数量的参数
	public void attack(Hero... heros) {
		for (int i = 0; i < heros.length; i++) {
			System.out.println(name + " 攻击了 " + heros[i].name);
		}
	}

	public static void main(String[] args) {
		ADHero h1 = new ADHero();
		h1.name = "赏金猎人";
		ADHero h2 = new ADHero();
		h2.name = "盖伦";
		ADHero h3 = new ADHero();
		h3.name = "提莫";
		ADHero h4 = new ADHero();
		h4.name = "曹操";

		h1.attack();
		h1.attack(h2);
		h1.attack(h2, h3);

		// 可变数量的参数
		h1.attack(h2, h3, h4);
	}
}

运行结果:
在这里插入图片描述
三、练习

// 类和对象 3  方法重载 2  方法重载练习
// 辅助类 辅助其他英雄 例如加血等……

public class Support extends Hero {
	public void heal() {
		System.out.println(name + " 辅助了 不知名的人!");
	}

	public void heal(Hero h1) {
		System.out.println(name + " 辅助了 " + h1.name);
	}

	public void heal(Hero h1, int hp1) {
		hp -= hp1; // 本人血量减
		h1.hp += hp1; // 队友血量加
		System.out.println(name + " 辅助了 " + h1.name + " 并给他加了 " + h1.hp + " 血");
	}

	public static void main(String[] args) {
		Support s1 = new Support();
		s1.name = "盖伦";
		s1.hp = 100.0f;

		Support s2 = new Support();
		s2.name = "提莫";

		Support s3 = new Support();
		s3.name = "曹操";

		s1.heal();
		s1.heal(s2);
		System.out.println(s1.name + " 为队友加血前血量:" + s1.hp);
		s1.heal(s3, 30);
		System.out.println(s1.name + " 为队友加血后血量:" + s1.hp);
	}
}

运行结果:
在这里插入图片描述
我的学习源泉:https://how2j.cn/k/class-object/class-object-overload/291.html?p=114999
Java自学网站:https://how2j.cn?p=114999

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值