Java语言计算机科学与程序设计实验指导书.doc

上传人:sccc 文档编号:4970186 上传时间:2023-05-26 格式:DOC 页数:40 大小:2.10MB
返回 下载 相关 举报
Java语言计算机科学与程序设计实验指导书.doc_第1页
第1页 / 共40页
Java语言计算机科学与程序设计实验指导书.doc_第2页
第2页 / 共40页
Java语言计算机科学与程序设计实验指导书.doc_第3页
第3页 / 共40页
Java语言计算机科学与程序设计实验指导书.doc_第4页
第4页 / 共40页
Java语言计算机科学与程序设计实验指导书.doc_第5页
第5页 / 共40页
点击查看更多>>
资源描述

《Java语言计算机科学与程序设计实验指导书.doc》由会员分享,可在线阅读,更多相关《Java语言计算机科学与程序设计实验指导书.doc(40页珍藏版)》请在三一办公上搜索。

1、Java语言计算机科学与程序设计实验指导书胡洁萍 编著山东大学计算机科学与技术学院2009年9月前言Java语言计算机科学与程序设计是为计算机科学与技术学院和软件学院一年级开设的一门骨干课程,并且实验性很强。课程中讲授的许多内容如:基本数据类型、类、对象、方法、循环控制、继承、多态、文件处理、异常处理等,仅有课堂教学同学们是不能完全理解的,为了让同学们对课堂上讲授的内容能充分理解,培养同学们的创新及解决实际问题的能力,为将来的软件开发与应用打下良好的基础,我们安排了java上机实验。本书是借鉴了我校前几年的实验大纲,同时在近几年辅导同学们上机练习的基础上完成的。特别是对于经常出错的问题在特别提

2、示中再次强调,所以同学们在上机前一定要认真阅读特别提示。在此还要特别感谢李学庆老师给予的大力支持。胡洁萍 38目录目录1实验环境介绍3实验平台及安装3实验要求及SavitchIn.java的下载地址3Eclipse入门4实验一 Eclipse及Java入门6实验内容6实验步骤71 利用Eclipse开发环境写自己的第一个Java程序(HelloWorld)72 SavitchIn.java的引入123 课本光盘提供的Java源代码在Eclipse环境中的使用134 调试FirstProgram15实验二 Java程序的输入输出17实验目的17实验内容17特别提示17实验三 分支、循环的使用17

3、实验目的17实验内容18特别提示18附:Math类中的静态方法19实验四 字符与字符串19实验目的19实验内容19实验五 类的实例化与方法调用20实验目的20实验内容20特别提示20附:利用对话框输入输出21附:引入包23实验六 数组25实验目的25实验内容25有关输出日历的两点说明25特别提示26附:Eclipse中命令行参数的输入方法26实验七 继承和多态28实验目的28实验内容28特别提示28实验八 文件的输入输出29实验目的29实验内容29特别提示29实验九 链表(不计成绩)30实验目的30实验内容31实验十 递归(选作,不计成绩)32实验目的32实验内容32实验环境介绍实验平台及安装

4、J2SE JDK 6 + Eclipse Galileo1. J2SE安装 下载J2SE JDK 6u16 ( 双击自动安装2. Eclipse安装Eclipse SDK Galileo (http:/www.eclipse.org/downloads/index.php)C或D盘根目录下解压缩,不需要安装实验要求及SavitchIn.java的下载地址实验要求可以从ftp上下载。地址为ftp:/211.87.224.149:2121双击java课程设计2008,将java实验手册复制到本机d盘,同时也将SavitchIn.java拷贝下来备用。注意:一定要将文件复制到本机然后再打开,不要直接

5、从ftp上打开。Eclipse入门双击桌面的eclipse快捷方式,将打开eclipse应用程序。在初次加载Eclipse时,我们会看到一个如图所示的提示框,要求选择工作区,工作区是指在计算机中保存项目的文件夹,以后你所编写的java程序可以都放在这个文件夹中。建议大家选择d盘或e盘,因为我们机房的c盘有保护,如果存放到c盘,下一次上机可能你的文件就不存在了。假设我们选择在d盘的根目录下写一个以自己名字命名(这个名字是自己随便起的,便于自己快速找到该文件夹)的工作区,如图,然后单击ok。进入eclipse开始界面这时,我们可以看到d盘根目录下多了一个文件夹hjp。单击workbench图标,进

6、入如图所示的eclipse开发环境,它符合windows传统界面风格,由上到下依次为菜单栏、工具栏、客户区、状态栏客户区又分为文件管理器、代码区和运行结果的区域。如下图文件管理器源代码区运行结果 文件管理器:可以管理目录以及Java文件,包括浏览、新建、删除、打开、运行等操作。一般的,鼠标单击要选择的文件或者目录后:双击鼠标左键,可以在源代码区打开该文件,进行编辑;右单击鼠标将有一个弹出式菜单,列举了所有可以对该文件或目录进行的操作。 源代码区:可以编写Java程序 运行结果区:控制台程序的输入输出区域如果不小心关闭了某个区域,可以从菜单栏Window-Show View的下拉菜单中单击某一项

7、显示,例如要重新显示文件管理器只要单击Window-Show View-Package Explorer即可。 实验一 Eclipse及Java入门实验内容1) 利用Eclipse开发环境写自己的第一个Java程序(HelloWorld)2) SavitchIn.java的引入3) 掌握课本光盘提供的Java源代码在Eclipse环境中的使用方法4) 利用Eclipse环境调试第一章中的Java程序实验步骤1 利用Eclipse开发环境写自己的第一个Java程序(HelloWorld)1) 创建Java项目(project)一个java程序一般由几块组成,一般每个类占一个单独的文件,每个类单独

8、编译,可以把这多个相关的类放到同一个项目中。创建项目的步骤如下:a)“FileNewProject.” b) 在弹出的“New Project”对话框中,选择“Java Project”,单击“Next”c) 在“New Java Project”对话框中,输入项目名字。在“Project name”中填入“HelloWorld”,不需要进行其他设置,直接点击“Finish”按钮。完成后,在文件管理器中出现HelloWorld项目如下图刚才已建的工作区D:hjp文件夹下出现helloword文件夹2) 在项目中加入HelloWorldApp类选中HelloWorld项目后,单击鼠标右键,出现右

9、键菜单,选择“NewClass”,如上图。在弹出的对话框New Java Class中,Name框中输入“HelloWorldApp”,并且在“public static void main(String args)”选项前面打上勾。如下图。最后,单击“Finish”按钮。单击“Finish”按钮后,对话框消失,出现下图界面,对比观察文件管理器的变化,同时可以在代码管理器中写HelloWorldApp的代码了。注意到HelloWorldApp代码已经生成一部分了,包括类以及main方法。在main方法中加入一行代码:System.out.println(Hello World);在输入的过程中

10、,可能会出现帮助信息,可以尝试着使用这些帮助。红色的下划线表示有语法错误,在该条语句输入完之前,可以不去在意。3) 运行HelloWorldApp在运行程序前最好保存一下你的源程序,以防运行过程中出现不可预测的错误。如下图在源代码区域选择右键菜单中的RunAs-Java Application如果没有保存修改过的源代码,会出现一个Save and Launch对话框,提示保存对于代码的修改,选择Save按钮。程序结果可以在控制台看到。如下图:2 SavitchIn.java的引入SavitchIn.java是本书的作者为我们写的类,但并不是java系统自带的,所以如果要使用需要引入。在同一目录

11、下的文件中的类可以随便引用,所以我们只要将SavitchIn.java拷贝到D:hjphelloword目录下即可。转换到eclipse开发环境中,右单击文件管理器区域-refresh,即可看到SavitchIn.java3 课本光盘提供的Java源代码在Eclipse环境中的使用1)将光盘中的SourceCode目录拷贝到硬盘中,例如D:2)用上面类似的方法,创建一个新的项目,项目对话框的填写如下图,尤其注意Directory文本框中的目录名称填写是否正确:选择Finish按钮后,创建了项目ch01,展开项目ch01,看到第一章中的几个java源程序。3)通过双击FirstProgram.j

12、ava打开该文件,可以在源代码区看到代码了,注意可以通过代码区上面的文件名标记切换打开的源代码(如下图)。4)按照前面讲的方式,运行源代码,看看结果。4 调试FirstProgram1)定义断点:通过双击图中所示的区域,可以对某一行设置断点(设置成功后,有蓝色的圆点标记,再次双击,取消断点,圆点消失)。2)启动调试:右键菜单,选择DebugAs3)得到如下图的调试页面后,单击“单步调试”按钮,观察代码区,变量区以及控制台的变化。注意:当程序单步执行到下图的时,不要忘记程序等着你输入呢在控制台输入字母,然后回车answerLetter = SavitchIn.readLineNonwhiteCh

13、ar();试着多调试几次,每次输入不同的字母。点击箭头指向的图标,可以切换到源代码页面。实验二 Java程序的输入输出实验目的1了解体会Java的输入输出的编程与操作。2学习掌握Java Application字符界面下的输入输出。实验内容编写一个Java Application程序。1)从控制台读取一个三位整数2)将其倒序输出(例如,输入123,则输出结果为321)说明:从控制台读入的是一个int类型,利用整除和取余对其倒序输出。特别提示1. Java是区分大小写的,一定要注意。例如System中的S、Scanner中的S、I及nextLine中的L等等。2. 程序是由一系列语句组成,必须在

14、语句末尾加“;”,而且java程序中的符号必须是英文状态下输入的,否则将出现语法错误。3. Java中每个类处于单独的文件中,类名必须和文件名相同。可以运行的类必须包含 public static void main(String args),不包含main方法的只能编译。4. 要注意程序界面的友好性,例如在要求用户从界面输入一个整数前,应提示用户。Scanner scan = new Scanner(System.in); System.out.println(“please input an integer:”); scan.readLineInt(a);5. 除法运算符“/”是取整运算,

15、直接丢弃掉小数点后面的部分。附:引入包我们可以把常用的类定义组成一个包,通过import语句在程序中使用这些类,没有必要把包中的类复制到程序所在的目录,而且多个工程可以使用包中的类。下面就介绍一下包的引入步骤。第一步:建立一个公共包pubpackage(以SavitchIn.java为例,可以在包中加入多个类)假设我们在d盘根目录已建立的工作空间hjp中又建立了一个工程pubpackage,在工程pubpackage中新建包pubpackage,将SavitchIn.java复制到包pubpackage中。如图所示在eclipse中打开SavitchIn.java,在文件的最开头加上packa

16、ge pubpackage;第二步:生成.jar文件右单击包pubpackage,从弹出的快捷菜单中选择Export双击JAR file在弹出的对话框中输入要把压缩包保存的目的地和文件名,以.jar为扩展名。这样,在d盘的根目录下就能够看到刚才生成的文件pubpackage.jar第三步:将.jar文件引入到要使用这些类的工程中右单击HelloWord工程(将要在该工程中使用pubpackage包中的类),从弹出的快捷菜单中选择Properties,弹出Properties for helloword对话框单击左面的Java Build path,从右面选择Libraries选项卡,单击Add

17、 External JARs按钮从JAR Selection对话框中选择要引入的包,单击打开从Properties for helloword对话框中就可以看到pubpackage.jar了,单击ok按钮此时在eclipse中就可以看到pubpackage.jar第四步:使用import语句引入包在要使用SavitchIn类中的方法的文件中,package语句之后加入语句import pubpackage.SavitchIn;那么在这个文件中就可以使用SavitchIn的所有的方法了。实验三 分支、循环的使用实验目的掌握结构化程序设计的分支结构。学习用if /else语句实现单分支。学习用if

18、 /else语句和swich语句实现多分支。掌握结构化程序设计的循环结构。学习使用while语句、do-while语句、for语句实现循环。学习控制循环终止条件、循环的正常退出、使用continue语句、break语句。实验内容1. 编写一个Application程序,可以计算方程输出ax2 + bx + c = 0的根,a,b,c三个系数由键盘输入2. 编写一个Application程序,从键盘输入10个整数,计算出它们的算术平均数、最大值和最小值。3. 任给一个自然数n,在控制台打印边长为n的菱形。例如:n=3时*特别提示1. 布尔表达式中,判断两个量a、b是否相等时,应写成a=b;若写成

19、a=b表示把b的值赋给a,并不是一个布尔表达式,将出现语法错误:Type mismatch: cannot convert from int to boolean2. 布尔表达式中不能用连不等式。例如10i10 & i=3) ;a=a+b;表示如果满足条件,执行一条空语句,同时整个if语句结束,然后执行下一条语句,所以上例中a为任何值都将执行a=a+b;。特别是在while循环中,将造成无限循环。例如while( i=100 ) ; i+;因为循环体为空,无法更改i的值,所以循环将一直执行下去。4. 而do-while();语句中,while后面的表达式后必须加分号。5. 语句中如果满足条件时

20、要执行多条语句或者循环体中有多条语句,一定要将这些语句用大括号括起来。6. else总是与最邻近的尚未配对的if配对。如果要更改配对原则,用大括号。7. switch语句中,若只执行一个情况项就退出switch语句,一定不要忘记加break;8. 尽量不要在循环体中声明变量,如果在循环体声明变量且初始化,那么每次循环都要为变量申请内存且为其赋值,影响运行效率,甚至出现逻辑错误。9. 算术运算符“/”中,如果符号两边的数都为整型,那么得到的结果也为整型,所以为了得到浮点型,应该使其中的一个数为浮点型。例如求平均数,可以写成sum/10.0附:Math类中的静态方法Math类中的静态方法在书中28

21、0页的图5.9中给出,我们可以直接通过在方法名前加Math.来使用其中的方法,例如求一个数a的平方根,可以使用方法Math.sqrt(a)获得。对于Math类中的方法需要注意几个问题 round(a)方法是对数a四舍五入,如果a为double类型,它的返回值就为long类型,所以如果这时要把round(a)的值赋给一个int型变量,需要进行强制类型转换(int)Math.round(a)。 同理ceil()、floor()的返回类型为double型,如果要赋给某个int型变量,也需要进行强制类型转换。 pow(a,b)表示a的b次方,注意参数顺序不能颠倒。实验四 字符与字符串实验目的1. 掌握

22、语言基础类库中System 、Math 、数据类型等类的使用。2. 掌握字符串的使用。实验内容1 编写一个程序,接受用户输入的一段英文文字,统计出其中的字符个数、单词个数和句子的个数。(设句子以“。”“!”“?”结束,单词之间利用空格分隔)。特别提示1. 在java中,System 、Math 、String、数据类型等类都在java.lang包中,系统将会自动引入。2. String类的方法在书中71页的图2.6中给出。String是一个类类型,所以在比较两个String对象所包含的内容是否相等时,不能用=,要通过方法equals来实现。实验五 类的实例化与方法调用实验目的 1掌握定义类、创

23、建对象、使用类与对象。2掌握类及成员的修饰符的使用。3掌握构造函数的使用。4掌握如何定义方法和调用方法。5掌握形式参数与实际参数的结合过程。实验内容1. 编写一个Application程序MyDate.java,建立日期类,接受用户输入的年、月、日,完成日期增加若干天得到新的日期,日期推前若干天得到新的日期,日期与日期间相差多少天的计算。2. 编写一个彩票中奖模拟程序,实现下述功能:创建六个筛子,每个筛子可以定制有多少个面(一般6-30);投掷六个筛子,得出六个开奖数值;模拟若干参与者,进行赌采,根据开奖数值,给出猜对的成绩。特别提示3. 自定义类及使用的步骤:a) 首先,我们生成一个文件,文

24、件名与类名相同如第一题,文件名为MyDate.java,那么类名也必须是MyDate,在类定义中定义其变量及其方法b) 然后,在main方法中(这个方法我们可以写在上面的文件中,也可以重新生成一个文件,注意新生成的文件类名与文件名同样必须相同)我们生成MyDate类的对象,分两步:i. MyDate date;/创建存储(MyDate对象)地址的变量ii. date = new MyDate(); /为MyDate对象分配存储空间,并将其地址赋给datec) 生成了对象以后,就可以利用date对象来调用MyDate类定义中的方法了,例如date.dayOfMonth(3);下面的例子只是简单的

25、说明其步骤,方法只有一个,而且方法中还没有任何代码。public class MyDate public void dayOfMonth(int month)/添加代码public static void main(String args) / TODO Auto-generated method stub MyDate date; date = new MyDate(); date.dayOfMonth(3); 4. 静态方法可以通过类名而不是通过对象来调用,所以若要在静态方法定义中调用非静态方法,必须先创建一个对象,并通过该对象来调用非静态方法。例如main方法是一个特殊的静态方法,不能直

26、接调用非静态方法。5. 闰年的计算方法:公元纪年的年数可以被4整除而不能被100整除即为闰年或者能被400整除的也为闰年。如2000年是闰年,而1900年不是。附:利用对话框输入输出我们可以利用JOptionPane类实现数据的输入输出。JOptionPane类属于javax.swing 包。所以应在文件的头部包含有下列语句import javax.swing.JOptionPane;利用JOptionPane类可以定制四种不同种类的标准对话框。u ConfirmDialog确认对话框。提出问题,然后由用户自己来确认(按Yes或No按钮)u InputDialog 提示输入文本u Messag

27、eDialog 显示信息u OptionDialog 组合其它三个对话框类型。这四个对话框可以采用showXXXDialog()方法来显示。如:u showConfirmDialog()显示确认对话框、u showInputDialog()显示输入文本对话框、u showMessageDialog() 显示信息对话框、u showOptionDialog()显示选择性的对话框。JOptionPane的所有方法都是静态方法(static),所以这些方法可以直接用JOptionPane调用。1. 显示MessageDialog当我们想通过窗口输出结果信息的时候,一般使用MessageDialog。

28、该对话框只包含信息和ok按钮。1) public static void showMessageDialog (Component parentComponent,Object message) 调出标题为 Message 的信息消息对话框2) public static void showMessageDialog (Component parentComponent,Object message, String title, int messageType)该对话框的标题为 title,消息类型为 messageType3) public static void showMessageDi

29、alog (Component parentComponent,Object message, String title, int messageType,Icon icon)参数说明:u parentComponent:指示对话框的父窗口对象,一般为当前窗口。也可以为null即采用缺省的Frame作为父窗口,此时对话框将设置在屏幕的正中。u message:指示要在对话框内显示的描述性的文字,一般为String类型。u title:对话框的标题栏所显示的文字。u messageType可以时下列常数:ERROR_MESSAGE(错误图标,叉号)、INFORMATION_MESSAGE(信息图

30、标,为反惊叹号)、WARNING_MESSAGE(惊叹号)、QUESTION_MESSAGE(问号)、PLAIN_MESSAGE(没任何图标)u Icon:在对话框内要显示的图标例如:可以用如下方法来显示一个信息对话框JOptionPane.showMessageDialog( null , 要显示的信息内容 ,标题 , JOptionPane.ERROR_MESSAGE) ;2. 显示ConfirmDialog用于显示一个没有输入区的对话框,并返回使用者在选项区所选定的按钮1) public static int showConfirmDialog (Component parentComp

31、onent,Object message)显示一个带有选项按钮 Yes、No 和 Cancel的对话窗口,并返回用户的选项(Yes=1、No=2, Cancel=3)值。窗口标题为 Select an Option。2) public static int showConfirmDialog(Component parentComponent, Object message, String title, int optionType)3) public static int showConfirmDialog(Component parentComponent, Object message,

32、 String title, int optionType, int messageType)4) public static int showConfirmDialog(Component parentComponent, Object message, String title, int optionType, int messageType, Icon icon)u optionType:对话框底部显示的按钮选项。DEFAULT_OPTION(只有一个预设的ok按钮)、YES_NO_OPTION(有两个按钮yes和no)、YES_NO_CANCEL_OPTION、OK_CANCEL_OP

33、TION。3. 显示InputDialog显示一个有输入区的对话框,并返回使用者在输入区所输入的字符串1) public static String showInputDialog (Component parentComponent,Object message) 显示请求用户输入内容的问题消息对话框2) public static String showInputDialog (Component parentComponent,Object message, ObjectinitialSelectionValue) 输入值将被初始化为 initialSelectionValue3) pu

34、blic static String showInputDialog (Component parentComponent,Object message, String title, int messageType)该对话框的标题为 title,消息类型为 messageType说明:1) 程序把用户的输入作为字符串保存,所以如果希望的得到的是int型(也可能是其他的原始数据类型),我们必须把字符串转换为对应的数字,因为每个原始数据类型都对应着一个包装类,通过相应的parseXXX方法可以将String类型转换为原始数据类型。例如,假如我们希望从InputDialog得到一个int类型,可以使

35、用语句Integer.parseInt(str) Stringstr; str=JOptionPane.showInputDialog(null,pleaseenteranumber:); int num=Integer.parseInt(str);2) 在编写具有窗口界面的程序时,我们通常需要通过下面的语句来结束程序的运行:System.exit(0);否则程序无法正常退出。4. 例:import javax.swing.JOptionPane; public class TestJOptionPaneApp public static void main(String args) Stri

36、ng str ; int confirm=0; double count1,count2; while (confirm=0)str = JOptionPane.showInputDialog(null, 请输入被乘数, 输入窗口1,JOptionPane.INFORMATION_MESSAGE); count1=Double.parseDouble(str); str = JOptionPane.showInputDialog(null, 请输入乘数, 输入窗口2,JOptionPane.INFORMATION_MESSAGE); count2=Double.parseDouble(str)

37、; JOptionPane.showMessageDialog(null, count1+*+count2+=+count1*count2);confirm=JOptionPane.showConfirmDialog(null, 还要继续乘法运算吗?,选择窗口,JOptionPane.YES_NO_OPTION); JOptionPane.showMessageDialog(null, 谢谢使用); System.exit(0); 实验六 数组实验目的熟练掌握一维及二维数组的使用实验内容由键盘输入年份,编写一个程序显示当年的日历,用Application程序实现。有关输出日历的两点说明1. 求

38、某一年的1月1日是星期几的方法假设当前年份为y,并忽略闰年,则从公元元年1月1日到y-1年共有365*(y-1)天,加上闰年多出来的天数,即加上1*(y-1)/4-(y-1)/100+(y-1)/400),/为整除,得:365*(y-1)+(y-1)/4-(y-1)/100+(y-1)/400)。补上一个x(x是与公元元年1月1日是星期几有关的一个06的整数),并将这个表达式赋给变量t,即:t=x+365*(y-1)+(y-1)/4-(y-1)/100+(y-1)/400)再用t除以7,余几即为星期几(余0为星期日)。 下面讨论x的求法:如果知道公元元年1月1日是星期几,就可以直接得到x的值,

39、但现在公式还没有求出来,不知道公元元年1月1日是星期几。不过没关系,毕竟知道最近的日期是星期几。不妨看一下2001年1月1日是星期几,结果是星期一,代入公式得t=x+730516,用730516除以7,得104355,余数是1,则为了保证2001年1月1日是星期一,取x 为0,至此,得到了完整的公式: t=365*(y-1)+(y-1)/4-(y-1)/100+(y-1)/400) 再将它做一下改进,我们将公式变形为: t=(52*7+1)*(y-1)+(y-1)/4-(y-1)/100+(y-1)/400) 利用星期的周期性,将52*7*(y-1)从公式中删除,得: t=(y-1)+(y-1

40、)/4-(y-1)/100+(y-1)/400)所以求某一年的1月1日是星期几的最常见的公式为: W = Y-1 + (Y-1)/4 - (Y-1)/100 + (Y-1)/400 公式中的.指只取计算结果的整数部分。算出来的W除以7,余数是几就 是星期几。如果余数是0,则为星期日。2. 要求显示日历的格式(以2009年9月为例):2009-9日 一 二 三 四 五 六 1 2 3 4 5 6 7 8 9 10 11 1213 14 15 16 17 18 1920 21 22 23 24 25 2627 28 29 30特别提示1. 假设我们已经定义了一个日期类MyDate,MyDate d

41、ate=new MyDate3;仅仅是创建了一个数组,数组中有三个变量date0 、date1、 date2,用于存放MyDate对象的地址,在使用datei之前,必须还要有如下的语句for (int i=0; i3; i+ )datei=new MyDate();这样才为数组中的每个元素申请了内存空间。这在数组元素为类类型变量的时候要特别注意。2. length为数组的公共实例变量,指数组的长度(可容纳的元素个数)。date数组的长度可通过date.length得到。而数组的下标总是从0开始,所以最后一个下标应比数组的长度小1即date.length-1。所以遍历数组时应为for (int

42、i=0; iRun 将弹出Run对话框,选择Arguments选项卡,从Program arguments里添加参数,以非空白字符为分隔符public class HelloWordApp public static void main(String args) / TODO Auto-generated method stub System.out.println(main的第一个参数args0为:+args0); System.out.println(main的第二个参数args1为:+args1); System.out.println(main的第二个参数args2为:+args2);

43、 System.out.println(main的第二个参数args3为:+args3);程序的运行结果为main的第一个参数args0为:hellomain的第二个参数args1为:goodmain的第二个参数args2为:morningmain的第二个参数args3为:yes实验七 继承和多态实验目的1掌握继承和多态的概念与实现方法。2掌握如何从已有的类中派生子类并继承父类。3掌握方法的覆盖和重载。实验内容设计一个通用的排序算法,作为验证,自定义学生类,矩形类,可以利用该排序算法对学生按照ID以及Name进行排序;对矩形按照面积进行排序。说明:一个通用的排序程序只要知道数组中任意两个元素如

44、何比较大小就可以完成排序。因此,设计一个父类,包含 int compare(object a, object b)方法,其他所有子类按照自己的方式实现compare。特别提示1. 构造方法不能被继承,如果没有显式调用父类的构造方法,系统将自动调用父类的默认构造方法。如果想要显式调用,使用super();(也可能有参数)作为子类构造方法的第一个语句。2. 当子类和父类中具有相同的方法名,且方法所带有的参数数目和类型都相同时,我们说子类方法覆盖了父类方法。如果想要在子类对象中调用父类的方法,可使用super.方法名(参数)来实现。3. 变量决定了要使用的方法,而对象决定了使用方法的哪一个定义。例如: class Animal public void speak() System.out.printl

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 农业报告


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号