实验5.内部类

实验5.内部类

ID:38703054

大小:115.50 KB

页数:11页

时间:2019-06-17

实验5.内部类_第1页
实验5.内部类_第2页
实验5.内部类_第3页
实验5.内部类_第4页
实验5.内部类_第5页
资源描述:

《实验5.内部类》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第一题.目的:验证内部类对象总与创建它的外部类对象关联1第二题.定义一个Father类1第三题.修改BankAccount2第四题.拷贝自身重要数据3第五题.连锁店问题4第六题.修改外围类对象数据,影响内部类行为4第七题.迭代器的局部类实现6第一题参考答案7第二题参考答案7第三题参考答案8第四题参考答案10第五题参考答案10第六题参考答案11第七题参考答案11实验五.内部类,局部类,匿名类背景知识内部类内部类对象的创建局部类匿名类实验目的1.掌握内部类,局部类,匿名类概念2.学习定义内部类,局部类,匿名类。3.学习创建内部类,局部类,匿名类对象。实验内容和步骤第一题.目的:验证内

2、部类对象总与创建它的外部类对象关联1.定义一个类A,它有一个内部类B.2.定义B的方法g,它访问A的数据成员。3.定义A的方法f,它访问B的数据成员,注意必须指明那个内部类对象的数据成员。4.确保类A有方法修改A的域。5.确保类B有方法print,输出A的域。6.定义类C,它只有一个main方法。在main方法体内创建A类对象a。a作为外围对象创建B类对象b;7.验证:每个内部类对象,都有一个相关联的外部类对象,就是创建它的外部类对象。方法:首先对象b调用print,打印a的域,然后修改a的域,最后b再次调用print,打印a的域,打印结果应该与对a的修改一致,从而说明b与a相关

3、联。第二题.定义一个Father类它包括:1.内部类Son,表示儿子的类,包括a)数据域phone,表示儿子电话号。b)内部类构造方法c)CallFather方法,给父亲打电话,打印“xxx给yyy打电话”即可,xxx是儿子电话号,yyy是父亲电话号。2.数据域phone,表示父亲电话号。3.Son数组,保存儿子。4.count,保存儿子个数5.构造函数。6.给儿子打电话的方法CallSon,打印“给xxx打电话”即可,xxx是儿子电话号。第三题.修改BankAccount给下面的BankAccount类添加一个方法,显示number,balance,lastaction。然后写

4、main方法,首先创建两个账户,然后执行存款,取款,转账动作,每个动作之后都显示账户信息。体会内部类的作用。publicclassBankAccount//银行帐号类定义{privatelongnumber;//帐号privatelongbalance;//余额//内部类对象.最后一次去银行的动作:存款,取款,转账privateActionlastaction;publicclassAction//内部类.{privateStringact;//描述动作的串privatelongamount;//存取的金额Action(Stringa,longamo)//构造函数,指出动作和金额

5、{act=a;amount=amo;}}publicvoiddeposit(longamount)//存款{balance+=amount;//动作:"deposit"和金额lastaction=newAction("deposit",amount);}publicvoidwithdraw(longamount)//取款{balance-=amount;//动作:"wuthdraw"和金额lastaction=newAction("wuthdraw",amount);}publicvoidtransfer(BankAccountother,longamount)//转账{othe

6、r.withdraw(amount);deposit(amount);lastaction=newAction("transfer",amount);//转入other.lastaction=other.newAction("transfer",amount);//转出}}第四题.拷贝自身重要数据读如下java程序,回答问题。一个类希望能够拷贝对象自身的重要数据,以便在必要的时候恢复这个对象。为此该类有一个datacpybak域,它保存重要数据的拷贝,其中datacpy是一个内部类。classdata{inti;Strings;datacpybak;publicdata(intj

7、,Stringt){i=j;s=t;}//内部类classdatacpy{intb;publicdatacpy(){b=i;}}publicvoidcopy(){bak=newdatacpy();}publicvoidresume(){i=bak.b;}publicvoidchange(){i++;}publicvoidprint(){System.out.println(i+""+s);}}publicclasstest_main{publicstaticvoidmain(St

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。