Java基础与Android开发实验指导书(4)

1970-01-01 08:00

实验五 抽象类和接口

(一)教学要求

掌握声明抽象类和最终类的方法,掌握声明接口、一个类实现多个接口的声明和使用方法。

(二)知识点提示

抽象类的声明和使用,接口的声明和使用。

(三)教学内容

1、将实验四中形状类Shape的getArea()改为抽象方法,在不修改四中形状子类和测试类TestShape的基础上,保证执行TestShape能够得到与实验四同样的结果。

2、将实验四中形状类Shape改为接口,在不修改测试类TestShape的基础上,保证执行TestShape能够得到与实验四同样的结果。

3、将附件1添加到工程,调试后保证源程序能编译成功,画出附件1中多个类间的关系图,按以下步骤调试程序。注,以下5步没有先后关系。

(1)将AbsClass类前面abstract删掉,编译会出现什么结果,为什么?

(2)将AbsClass类中的abstract void absMethod();改为abstract void absMethod(){},编译会出现什么结果,为什么?

(3)删除AbsClass类中的absMethod()方法,AbsClass类可否通过编译? (4)将AbsSubClass类前面abstract删掉,编译会出现什么结果,为什么?

(5)将SubClass中的absMethod方法改名为absMethod2,编译会出现什么结果,为什么?

4、在TestAbsctract的main方法中添加“ SubClass sc=new SubClass(); AbsClass ac=new AbsClass(); ”,编译会出现什么结果,为什么?

5、在TestAbsctract的main方法中添加“ SubClass sc=new SubClass(); AbsClass ac;

”,编译会出现什么结果,为什么?

6、在TestAbsctract的main方法中添加“ SubClass sc=new SubClass(); AbsClass ac=new SubClass(); AbsClass ac2=sc; sc.absMethod(); ac.absMethod(); ac2.absMethod();

”,可否通过编译,为什么? (四)思考题

1. 说明接口和抽象类的区别。

附录1 TestAbsctract.java

abstract class AbsClass{ abstract void absMethod(); void commMethod(){ System.out.println(\ } }

abstract class AbsSubClass extends AbsClass{ void commMethod3(){ System.out.println(\ } }

class SubClass extends AbsClass{ void absMethod(){ System.out.println(\ } }

public class TestAbsctract { public static void main(String [] rgs){ } }

实验六 Java异常处理和流

(一)教学要求

掌握Java异常处理的基本方法,掌握Java的标准输入输出方法。 (二)知识点提示

Java异常处理的基本方法,Java的标准输入输出方法

(三)教学内容 1、Java异常

(1)比较附录1、附录2、附录3中的程序有何异常,分析运行的结果有何不同,再编译运行它们验证你的想法。

(2)将附录5中main函数后面的“throws Exception”去掉再编译会怎么样,为什么? (3)在实验三中曾经实现过日期类MyDate,它包含一个含参数的构造方法MyDate(int year, int month, int day)、以及三个相应的设置方法setXXX(int arg)。

① 现编写一个自定义的异常InvalidDateException。当构造方法或设置方法接受的参数不符合实际要求时,抛出一个这个异常的实例。

② 在main函数中分别包含以下代码,捕获并打印异常信息 ③ MyDate d1=new MyDate(-1, 13, 32); ④ MyDate d2=new MyDate(); d2.setDay(100); 2、流

(1)编译运行附件4、附件5、附件6,分析其功能,掌握File类和文本流的常用方法。 (2)补充附录7,实现一个文件复制类FileTools,它包含一个静态方法copyFile(String sourceFileName,String objectFileName),功能是将名为sourceFileName的源文件复制到目的文件objectFileName中。

(3)编写一个类FileTest,它有write和read两个方法。其中,方法write负责从键盘接受5名学生的姓名,并将其存储在硬盘文件name.txt上;方法read负责从name.txt中读取5名学生的姓名。

(4)选做:为FileTest类增加writeGrade和readGrade两个方法。其中,方法writeGrade负责从键盘接受5名学生的考试成绩,并将其存储在硬盘文件stu.dat上;方法readGrade负责从stu. dat中读取5名学生的考试成绩并求和。

(四)思考题

1. Java为什么要采用异常处理机制?异常处理的目的是什么?Java的异常处理是怎样实现的?异常处理机制能够解决程序中遇到的所有错误吗?哪些错误不是异常处理能够解决的?

2. 什么是流?流有什么作用?面向对象语言为什么需要使用流?哪些场合需要使用流?

附录1 NonException.java

package p7;

public class NonException { public static void main(String[] args) { String s=null; System.out.println(\ System.out.println(s.length()); System.out.println(\ System.out.println(\ } }

附录2 CatchException.java

package p7;

public class CatchException{ public static void main(String[] args) { String s=null; System.out.println(\ try{ System.out.println(s.length()); System.out.println(\ }catch(Exception e){ System.out.println(e.getMessage()); } System.out.println(\ } }

附录3 ThrowCatchException.java

package p7;

class ThrowCatchException{ public static void main(String[] args)throws Exception{ String s=null; System.out.println(\ try{ System.out.println(s.length()); System.out.println(\ }catch(Exception e){ throw new Exception(\ } System.out.println(\ } }

附录4 FileExample.java

package p8;

import java.io.*; import java.util.*;

public class FileExample { public static void main(String[] args) { System.out.println(\请输入想创建的文件名:\ String fileName=new Scanner(System.in).nextLine(); File f1=new File(fileName); if(f1.exists()){ if(f1.isFile()){ System.out.println(\文件名:\ System.out.println(\绝对路径:\ System.out.println(\文件大小:\字节\ }else{ String[] s=f1.list(); System.out.println(\文件夹\共有\对象\ for(int i=0;i

附录5 WriteFile.java

package p8;

import java.io.FileWriter; import java.io.BufferedWriter; import java.io.IOException;

public class WriteFile {

public static void main(String[] args) { try {

/**创建一个FileWriter 对象*/

FileWriter fw = new FileWriter(\ /**创建一个BufferedWriter 对象*/

BufferedWriter bw = new BufferedWriter(fw); bw.write(\ bw.write(\


Java基础与Android开发实验指导书(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:《职业卫生技术服务行业职业病危害因素检测收费指导意见》(试行)

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: