实验五 方法的重载和静态成员
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验五方法的重载和静态成员
【实验目的】
1.巩固掌握构造方法的作用和定义;
2.掌握方法重载的意义和实现方式;
3.掌握静态成员的使用方法。
【实验准备】
复习配套教材相关章节的内容;
【实验内容】
项目一:
1.定义一个游戏中Hero 英雄的类,在该类中定义英雄的名字,生命值和等级
3 个属性,定义一个无参构造方法完成对名字、生命值和等级的初始化,分
别赋初值为“无名英雄”、100和1。同时实现名字和英雄信息的输出。
public class Hero {
String name;
int healthPower = 100;
int grade;
public Hero() {
="无名英雄";
this.healthPower = 100;
this.grade=1;
}
void showInfo() {
System.out.println("——英雄信息——");
System.out.println("名字:" + );
System.out.println("生命值:" + this.healthPower);
System.out.println("类型:" + this.grade);
}
}
2.在上一步的基础上,为英雄再定义拥有一个参数的构造方法,第一个参数传
入英雄的名字,第二个参数传入一个英雄类型的值,如果为1,则为普通英雄,生命值为100;如果该值为2,则为高级英雄,生命值初始化为200;如果该值为3,则为超级英雄,生命值初始化为300。
Public Hero(String name, int grade) {
= name;
if (grade == 3) {
this.healthPower = 300;
this.grade = 3;
} else if (grade == 2) {
this.healthPower = 200;
this.grade = 2;
} else {
this.healthPower = 100;
this.grade = 1;
}
}
3.为英雄添加一个基本战斗的方法,该方法拥有一个英雄类型的参数,当传入
另一个英雄时,能降低对方10点血。再增加一个绝招战斗的重载方法,加入一个绝招类型参数,通过输入不同绝招参数,降低对方不同的血量(这里简化为:1,多杀伤3点血,2,多杀伤6点血,3,多杀伤10点血)。
void fight(Hero opponent) {
opponent.healthPower -= 10;
}
void fight(Hero opponent, int skill) {
opponent.healthPower -= 10;
if (skill == 3) {
opponent.healthPower -= 10;
} else if (skill == 2) {
opponent.healthPower -= 6;
} else if (skill == 1) {
opponent.healthPower -= 3;
}
}
4.在主类的主方法中编写代码,测试。
public static void main(String[] args) {
// TODO code application logic here
Hero superHero=new Hero("蜘蛛侠",3);
Hero opponent=new Hero();//对手
opponent.showInfo();
superHero.fight(opponent);
opponent.showInfo();
superHero.fight(opponent,2);
opponent.showInfo();
}
项目二:
设计一个BankAccount类,实现银行某账号的资金往来账目管理,包括建账号、存入、取出等。BankAccount类包括,账号(BankAccountId)、开户日期Date(日期),Rest(余额)。有一个构造方法和三个实例方法Bankin()(处理存入账),Bankout()(处理取出账)和一个负责生成账号的自动增长的方法(构造方法中调用),另有一个静态方法实现输出,以供存取帐时调用。
static void prt(String s){
System.out.println(s);
}
【总结与体会】
请思考3分钟以上。
注意通过第一个项目体会,掌握方法的重载;第二个项目注意理解静态属性和方法。
课后作业:
1、编写一个类Book,代表教材:
具有属性:名称(title)、页数(pageNum)、种类(type)
具有方法:detail,用来在控制台输出每本教材的名称、页数、种类
具有两个带参构造方法:第一个构造方法中,设置教材种类为“计算机”(固
定),其余属性的值由参数给定;第二个构造方法中,所有属性的值都由参数
给定。
2、编写一个程序,已有若干学生数据,包括学号、姓名、成绩,要求输出这些学生数据并计算平均分。