资源描述:
《java实验指导书(实验四)》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、实验四类与对象(二)一、实验目的1、理解引用变量与对彖实例Z间的关系与区别;2、理解方法调用时引用类型参数的传递过程;3、理解Java语言屮包的概念以及package>import语句的使用;4^掌握privateprotected>public等关键的使用场合Ai使用方法;5、掌握对象组合的方式与方法;6、掌握基本数据类型包装类的使用方法。二、实验要求1、根据实验步骤中提出的耍求,使用记事本编写相应的Java程序;2、使用JDK中提供的javac以及java命令编译、运行自己所编写的Java程序;3、根
2、据编译与运行过程屮所获得的错谋信息修改程序直至获得正确的结果;4、记录实验中遇到的各类问题并以及解决办法。三、实验步骤1、对象实例的引用(1)采用记事本编写卜•面所给的Java程序并保存为Card.java;classCard{intid;doublebalance;Card(intid,doublebalance))this.id=id;this.balancc=balancc;}voidwithdraw(doubleamount){balance-=amount;}voiddeposit(double
3、amount)}balance+=amount;}voidprint(){System.out.printf("Cardid:%10dBalance:$%&2f',id,balance);}(1)采用记事本编写卜•面所给的Java程序并保存为CardTest.java;classCardTest{publicstaticvoidmain(Stringargs[]){Carda=newCard(1,500);Cardb=open(2);transfer(a,b,120);a.print();b.prin
4、t();)Cardopen(intid){returnnewCard(id,0);}staticvoidtransfer(Cardfrom,Cardto,doubleamount)}from.withdraw(amount);to.dcposit(amount);Cardtemp=from;from=to;to=temp;(2)改正程序中的错误,编译并运行CircleTest查看结果。(3)CircleTest类的open方法结束后,该方法屮创建的对象是否仍然存在?(4)CircleTest类的trans
5、fer方法屮运行下而的代码后,引用形参from与to指向的对象实例是否实现互换?为什么?(5)CircleTest类的main方法中语transfer(a,b,120);结束后,引用实参a与b指向的对象实例是否实现互换?为什么?(6)如果将transfer方法改为Card类的成员方法,那程序将应该如何进行修改?2、包、访问权限、对彖组合(1)在磁盘上的某个位置新建math文件夹,之后再在math中新建geometry文件夹;(2)在ma(h文件夹中新建MathApp.java,并在geometry文件夹中
6、新建Point.java以及Linc.java;(3)三个文件的内容分别如下:MathApp.javaimportgeometry.*;classMathApp{publicstaticvoidmain(Stringargs[]){Pointa=newPoint(0,0);Pointb=ncwPoint(lJ);Lineline=newLine(a,b);doublelength=line」ength();System.out.printf(°ThelengthoftheLineis:”+length);
7、})packagegeometry;classPoint{doublex;protecteddoubley;publicPoint(doublex,doubley){this.x=x;this.y=y;Line.javapackagegeometry;publicclassLine{privatePointstartPoint;privatePointendPoint;publicLinc(PointstartPoint,PointcndPoint){this.startPoint=startPoint;
8、this.endPoint=endPoint;}publicdoublelcngth(){doublea=startPoint.x-endPoint.x;doubleb=startPoint.y-endPoint.y;returnMath.sqrt(a*a+b*b);注意事项:(1)在木例屮程序的主目录为math,因此在math目录下的java程序均不须声明包,(默认包),而在其它目录下的包均须以packagexx.xx.xx