实验五方法的重载和构造方法

 时间:2012-04-01  贡献者:我是倪庆雨

导读:利用托线板以及线锤吊线检查砌体垂直度的方法是(). ta.实测法tb.,法的重载和静态成员 实验五 方 法的重载和静态成员【实验目的】 实验目的】 目的 1.巩固掌握构造方法的作用和定义; 2.掌握方法重载的意义和实现方式; 3.掌握静态成员的使用方

利用托线板以及线锤吊线检查砌体垂直度的方法是(). ta.实测法tb.
利用托线板以及线锤吊线检查砌体垂直度的方法是(). ta.实测法tb.

法的重载和静态成员 实验五 方 法的重载和静态成员【实验目的】 实验目的】 目的 1.巩固掌握构造方法的作用和定义; 2.掌握方法重载的意义和实现方式; 3.掌握静态成员的使用方法。

【实验准备】 实验准备】 复习配套教材相关章节的内容; 【实验内容】 实验内容】 内容 项目一: 1. 定义一个游戏中 Hero 英雄的类,在该类中定义英雄的名字, 生命值和等级 3 个属性,定义一个无参构造方法完成对名字、生命值和等级的初始化,分 别赋初值为“无名英雄” 、100 和 1。

同时实现名字和英雄信息的输出。

public class Hero { String name; int healthPower; int grade; public Hero() { this.name ="无名英雄"; this.healthPower = 100; this.grade=1; } void showInfo() { System.out.println("——英雄信息——"); System.out.println("名字:" + this.name); System.out.println("生命值:" + this.healthPower); System.out.println("类型:" + this.grade); } }

2. 在上一步的基础上,为英雄再定义拥有一个参数的构造方法,第一个参数传 入英雄的名字,第二个参数传入一个英雄类型的值,如果为 1,则为普通英雄, 生命值为 100;如果该值为 2,则为高级英雄,生命值初始化为 200;如果该 值为 3,则为超级英雄,生命值初始化为 300。

public Hero(String name, int grade) { this.name = 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、编写一个程序,已有若干学生数据,包括学号、姓名、成绩,要求输出这些学生数据并 计算平均分。

思路: 设计一个学生类 Stud,除了包括 no(学号)、name(姓名)、和 deg(成绩)数据成员外。

有 两个静态变量 sum 和 num, 分别存放总分和人数, 有一个构造方法、 一个普通实例方法 disp() 和一个静态方法 avg()(用于输出当前人数和平均分)。