实验五 方法的重载和静态成员

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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、编写一个程序,已有若干学生数据,包括学号、姓名、成绩,要求输出这些学生数据并计算平均分。

相关文档
最新文档