- 1、本文档共11页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验5内部类
第一题.目的:验证内部类对象总与创建它的外部类对象关联 1
第二题.定义一个Father类 1
第三题.修改BankAccount 2
第四题.拷贝自身重要数据 3
第五题.连锁店问题 4
第六题.修改外围类对象数据,影响内部类行为 4
第七题.迭代器的局部类实现 6
第一题参考答案 7
第二题参考答案 7
第三题参考答案 8
第四题参考答案 10
第五题参考答案 10
第六题参考答案 11
第七题参考答案 11
实验五. 内部类,局部类,匿名类
背景知识
内部类
内部类对象的创建
局部类
匿名类
实验目的
掌握内部类,局部类,匿名类概念
学习定义内部类,局部类,匿名类。
学习创建内部类,局部类,匿名类对象。
实验内容和步骤
第一题.目的:验证内部类对象总与创建它的外部类对象关联
定义一个类A,它有一个内部类B.
定义B的方法g,它访问A的数据成员。
定义A的方法f,它访问B的数据成员,注意必须指明那个内部类对象的数据成员。
确保类A有方法修改A的域。
确保类B有方法print,输出A的域。
定义类C,它只有一个main方法。在main方法体内创建A类对象a。a作为外围对象创建B类对象b;
验证:每个内部类对象,都有一个相关联的外部类对象,就是创建它的外部类对象。方法:首先对象b调用print,打印a的域,然后修改a的域,最后b再次调用print,打印a的域,打印结果应该与对a的修改一致,从而说明b与a相关联。
第二题.定义一个Father类
它包括:
内部类Son,表示儿子的类,包括
数据域phone,表示儿子电话号。
内部类构造方法
CallFather方法,给父亲打电话,打印“xxx给yyy打电话”即可,xxx是儿子电话号,yyy是父亲电话号。
数据域phone,表示父亲电话号。
Son数组,保存儿子。
count,保存儿子个数
构造函数。
给儿子打电话的方法CallSon,打印“给xxx打电话”即可,xxx是儿子电话号。
第三题.修改BankAccount
给下面的BankAccount类添加一个方法,显示number,balance,lastaction。
然后写main方法,首先创建两个账户,然后执行存款,取款,转账动作,每个动作之后都显示账户信息。体会内部类的作用。
public class BankAccount //银行帐号类定义
{
private long number;//帐号
private long balance;//余额
//内部类对象.最后一次去银行的动作:存款,取款,转账
private Action lastaction;
public class Action//内部类.
{
private String act;//描述动作的串
private long amount;//存取的金额
Action(String a,long amo)//构造函数,指出动作和金额
{
act=a;
amount=amo;
}
}
public void deposit(long amount)//存款
{
balance+=amount;
//动作:deposit和金额
lastaction=new Action(deposit,amount);
}
public void withdraw(long amount)//取款
{
balance-=amount;
//动作:wuthdraw和金额
lastaction=new Action(wuthdraw,amount);
}
public void transfer(BankAccount other,long amount)//转账
{
other.withdraw(amount);
deposit(amount);
lastaction=new Action(transfer,amount);//转入
other.lastaction=other.new
Action(transfer,amount); //转出
}
}
第四题.拷贝自身重要数据
读如下java程序,回答问题。一个类希望能够拷贝对象自身的重要数据,以便在必要的时候恢复这个对象。为此该类有一个datacpy bak域,它保存重要数据的拷贝,其中datacpy是一个内部类。
class data
{
int i;
String s;
datacpy bak;
public data(int j,String t){i=j;s=t;}
//内部类
class datacpy
{
int b;
public datacpy()
{
您可能关注的文档
最近下载
- 口腔诊所规章制度、技术操作规范及岗位职责.pdf VIP
- pgis平台技术方案(参考).doc
- 珠海市纪委监委招聘所属事业单位工作人员考试试题及答案.pdf VIP
- 中级消防维保35个抽考整理版2023.12.10.pptx
- 物流运输与配送管理考试题..doc VIP
- 2023年珠海市纪委监委招聘所属事业单位工作人员考试真题(含答案).pdf VIP
- Vaillant威能ecoTEC intro 冷凝式燃气暖浴两用炉说明书.pdf
- 扩创术手术讲解模板.pptx
- 2023肝动脉灌注化疗持续动脉给药及管路护理专家共识(完整版) .docx
- 2024年华医网继续教育护理学基于循证理念的临床护理管理实践新进展题库及答案.docx VIP
文档评论(0)