实验报告
课程名称:Java程序设计
实验编号 及实验名称 | 实验三 Java 接口与抽象类、异常处理 | 系 别 | |||
姓 名 | 学 号 | 班 级 | |||
实验地点 | 实验日期 | 实验时数 | 6 | ||
java接口可以创建对象吗指导老师 | 同组其他成员 | 无 | 成 绩 | ||
一、实验目的及要求 通过实验理解Java的类与对象、包、面向对象思想、抽象类与接口、异常处理等内容。 | |||||
二、实验环境及相关情况(包含使用软件、实验设备、主要仪器及材料等) 1.使用软件:使用软件:JDK,Eclipse 2.实验设备:装有Windows XP的联网的个人计算机 | |||||
三、实验内容及步骤(包含简要的实验步骤流程) 1. 轿车与本田的关系。创建一个Car类,并为其定义两个属性:颜和类型。同时为该类创建两个构造方法:第一个为无参的构造方法,其作用是将颜和型号初始化为红、轿车;第二个构造方法需定义两个形参,并将形参的值分别赋给颜和类型。此外,还有两个成员方法,分别用来显示颜和类型。 再定义一个Car的子类Car1类,并在该类中定义一个私有属性:生产厂商,该类有三个构造方法:第一个构造方法有三个形参,该构造方法需要调用父类Car的第二个构造方法,将前两个参数赋给该构造方法,第三个参数用来给生产厂商赋值;第二个构造方法有一个参数,把该参数赋值给颜参数,并将生产厂商属性初始化为“广州本田”;第三个构造方法为无参,该构造方法中要求能调用上面所创建的第二个构造方法。 最后定义一个主类,分别用Car1的三种构造方法创建三个Car1对象,并输出每个对象的各个属性。 类和子类分别放在不同的包中实现。 (要求写出代码和必要的注释) 2. 某小型公司,主要有三类人员:经理、兼职技术人员和兼职推销员。这三类人员 共同拥有的相关属性:姓名、编号; 相关方法:获取当月薪水的 getSalary()方法、显 示个人信息的 perSon()方法。人员编号基数为 0A00,每创建一个人员实例对象,其 编号属性的值顺序加 1。月薪计算方法:经理拿固定月薪 5000 元;兼职技术人员按 每小时 60 元领取月薪;兼职推销人员的月薪按当月的销售额的 4%提成。 要求:根据题意,自己确定需要定义的类及各类的属性、构造方法和其他方法,程序实现功能:存储若干个职工信息,然后分行显示所有职工的姓 名、编号、月工资等相关信息,另外计算所有职工的月薪总和并显示出来。要求定义:(1)抽象类 Staff 作为父类,并定义通用的域变量 name,num,income, 添加构造方法 Staff(String name,int num,double income){……} 添加抽象方法 abstract double getPay(); abstract void print(); (2)分别定义 Staff 的子类 Manager,Engineer,Salesman,让它们继承父类的属性并分别将抽象的构造方法根据各自特点将抽象方法具体化。(3)上述类放在同一个包中实现。 3. 编写一个Java程序,计算S=N!,其中N的值由键盘输入,要求用try catch finally 语句能够处理多种不同的异常处理。 | |||||
四、实验结果(包括程序或图表、结论陈述、数据记录及分析等,可附页) 1.实验一 2.实验二 3.实验三 | |||||
五、实验总结(包括心得体会、问题回答及实验改进意见,可附页) 真的难 | |||||
六、教师评语 1、 完成了所有规定的实验内容,实验步骤正确,结果正确; 2、 完成了绝大部分规定的实验内容,实验步骤正确,结果正确; 3、 完成了大部分规定的实验内容,实验步骤正确,结果正确; 4、 基本完成了规定的实验内容,实验步骤基本正确,结果基本正确; 5、 未能很好地完成规定的实验内容或实验步骤不正确或结果不正确; 6、 其它: 评定等级: 良好 日期:2019年6月6日 | |||||
附-1、实验总结(包括心得体会、问题回答及实验改进意见,可附页) 问题回答: 1、 接口与抽象类有什么区别? 1.抽象类是单一继承,接口是多重实现【子类只能有一个父类,而子类可以实现多个接口,继承 抽象类表示“从属”,实现接口表示“组合”关系】 --2.接口中全是抽象方法,抽象类中可以有抽象方法,也可有方法体的方法 --3.接口中无构造方法,不可继承,可实现;抽象类可有构造方法,不可被实例化 --4.抽象类的抽象方法不能使用private,final,static,方法不能用private,final修饰 接口的属性默认是用public,static,final修饰,接口中方法是默认用public, abstract修饰 2、 抽象类能实现多重继承吗?如果能,请说明方式,如果不能,请说明实现单重继承的方式。 能,继承是面向对象编程的一种特性,是保留原有类功能的前提下拓展或改写部分功能,实现代码复用的方式, 单继承就是一个类只可以继承自一个父类,多继承是指一个类可以同时继承多个父类 java中使用的是单继承,也就是一个类有且只能有一个父类,java中可以使用接口实现来实现类似多继承的效果 3、 简述JAVA中包的定义以及使用方法 在Java中,包主要有以下用途 : -包允许将类组合成较小的单元 -有助于避免命名冲突 -包允许在更广的范围内保护类、数据和方法 包可以是类、接口和子包的集合 4、简述JAVA中的多异常处理 Java的异常处理机制简述 try{}是监控的代码 catch{}是处理异常 finally{}是无论是否发生异常,无论异常是否处理都会执行的代码。 而finally后面的代码是否执行的关键就是是否有catch语句。 catch就是处理异常,就相当于把异常当作正常程序处理了,所以finally后面的代码会正常执行。 如果没有catch语句,发生异常后jvm执行完finally代码之后就会将异常抛出,这样的话finally后面的代码就不会执行了。 | |||||
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论