实验5内部类.doc

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 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() {

文档评论(0)

haihang2017 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档