资源描述:
《实验六深入面向对象编程(2)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、实验3深入面向对象编程(2)淮海工学院计算机科学系实验报告书课程名:__Java___________题目:__深入面向对象编程(2)班级:_____________学号:____________姓名:_____________评语:成绩:指导教师:批阅时间:年月日12一、实验目的学会运用属性的继承和隐藏、方法的继承、重载与覆盖、构造函数的继承与重载等来实现Java的继承与多态的思想;理解的Java的包、接口与异常处理机制,正确运用异常处理、包、接口、内部类、匿名类等语法实现对象的上转型、接口的定义、接口回调及多态编程。正确使用字符串相关类(String
2、、StringBuffer、StringTokenizer)、日期时间类(Date、Calendar)、Math类、System类、BigInteger类。另外,对于ArrayList、Vecto、HashTable等具有泛型特征的集合类,在理解其工作原理的基础上,能进行初步的编程和应用。二、实验环境操作系统:windows2000或WindowXP集成开发环境:JDK1.6及以上版本三、实验学时2学时,必做实验。四、实验内容(1)进一步熟悉Java面向对象相关语法、熟练运用自定义异常处理、包、内部类等相关面向对象深化语法编写程序(2)按要求编写相关算法
3、程序五、实验步骤与结果(1)改正以下程序中出现的错误,并进行注释说明importjava.awt.*;publicclassErr015extendsApplet{Readerr1;VIPReaderr2:publicvoidinit(){r1=newReader("zhang",1000);r1.setBalance(-50);r2=newVIPReader("wang",2000);r2.setBalance(100);}12publicvoidpaint(Graphicsg){if(r1!=null)g.drawString(r1.String()
4、,20,100);if(r2!=null)g.drawString(r2.toString(),20,130);}}privateclassReader{intreaderNo;StringreaderName;Stringpwd;doublebalance;Reader(){balance=0;pwd=123456;}Reader(Stringname,intno){readerNo=this.no;readerName=name;this();}setBalance(doubleinitSal){if(initSal<0)System.out.pri
5、ntln(“钱款不能为负数!”);elsebalance=initSal;}12abstractStringtoString(){StringS;s="编号:"+readerNo+"
6、姓名:"+readerName+"
7、密码:"+pwd+"
8、账户余额:"+balance;returns;}}classVIPReaderextendReader{VIPReader(intno,Stringname){this(name,no);}publicStringtoString(){Strings;s=super.toString();}}改正:importjav
9、a.awt.*;importjava.applet.*;//添包publicclassErr015extendsApplet{Readerr1;VIPReaderr2;//":"改为";"publicvoidinit(){r1=newReader("zhang",1000);r1.setBalance(-50);r2=newVIPReader(2000,"wang");//构造方法参数位置不对12r2.setBalance(100);}publicvoidpaint(Graphicsg){if(r1!=null)g.drawString(r1.toStr
10、ing(),20,100);//String改为toStringif(r2!=null)g.drawString(r2.toString(),20,130);//;改为英文状态下的输入;}}classReader//去掉private{intreaderNo;StringreaderName;Stringpwd;doublebalance;Reader(){balance=0;pwd="123456";//数据与类型不匹配加""}Reader(Stringname,intno){this();//放在第一行readerNo=no;//去掉thisread
11、erName=name;}voidsetBalance(doubleinitSa