中国石油大学(北京)远程教育学院
期 末 考 试 及 答案
《 Java语言程序设计 》
学习中心:_____ 姓名:______ 学号:_______
关于课程考试违规作弊的说明
1、提交文件中涉嫌抄袭内容(包括抄袭网上、书籍、报刊杂志及其他已有论文),带有明显外校标记,不符合学院要求或学生本人情况,或存在查明出处的内容或其他可疑字样者,判为抄袭,成绩为“0”。
2、两人或两人以上答题内容或用语有50%以上相同者判为雷同,成绩为“0”。
3、所提交试卷或材料没有对老师题目进行作答或提交内容与该课程要求完全不
一、题型
简答题,4题,每题15分,共60分;编程题,2题,每题20分,共40分
二、题目
共两套题,学号末尾数单号学生做第一套,学号末尾数双号学生做第二套题
第二套题
一、简答题
1. 什么是多态性? 方法的重载和覆盖有何区别? 阅读下列代码,指出其中存在的重载和覆盖, 写出输出结果是什么?解释为什么这样输出? (15分)
class Class1
{
public void find() {
System.out.println("Class1.find");
}
}
class Class2 extends Class1
{
public void find() {
System.out.println("Class2.find");
}
}
class Class3 {
public void get(Class1 one) {
System.out.println("get(Class1)");
one.find();
}
public void get(Class2 two) {
System.out.println("get(Class2)");
two.find();
}
}
public class Test1
{
public static void main(String[] args)
{
Class1 one = new Class2();
Class3 three = new Class3();
three.get(one);
}
}
答:多态性是指允许不同类的对象对同一消息作出响应,多态有两种表现形式:重载和覆盖;
Class3中的2个get()方法为重载,方法名相同,参数不同;
Class2中的find()方法为覆盖,方法名和参数都一样, 子类Class2重写了父类Class1中的find()方法;
输出结果:get(Class1)
Class2.find
输出原因。。。。。。。。。。。。。。。。。。。。
2、请说说final、finally的区别和作用,举例说明用法;另外用自己的语言介绍throw/throws有什么联系和区别?在程序中应如何使用?(15分)
答:final用于声明属性、方法和类,分别表示属性不可变、方法不可覆盖和类不可被继承。Finally作为异常处理的一部分,只能用在try/catch语句中,并且附带一个语句块,表示这段语句最终一定被执行。
3、编写一个描述老师基本情况的类,属性包括姓名,教工号,基本工资,岗位工资和绩效工资,方法包括信息输出,设置姓名和教工号,设置三种工资金额,计算总工资(三种工资加起来)和税后工资(按如下方式计算,3000以内不收税,3000-5000之间的部分扣10%,大于5000的部分扣15%)。在main方法中对方法进行测试(15分)
答:运行代码
运行截图:
4、Java中实现多线程有几种方式?这几种方式有什么区别?然后采取其中一种方式设计一个线程例子,在例子中构造4个线程对象实现对同一数据类对象进行操作(数据初始值为10),其中线程对象1对数据执行乘以10的操作,线程对象2对数据执行乘以20的操作, 对象3对数据执行+30的操作,线程对象4对数据执行+40的操作,要求考虑线程同步,保证每一步数据操作的正确性。要求提供程序代码以及运行结果截图(15分)
答:
代码:
运行截图:
二、编程题
1、编写一个图形用户界面程序,包含两个按钮,一个信息标签(label)和一个显示面板,两个按钮分别为“掷色子”和“移动”,在显示面板中显示一个小汽车(用小圆\矩形以及线绘制),随机设定小汽车的初始位置,当点击“掷色子”按钮,随机产生移动信息(上移,下移,左移,右移,移动几步),并显示在信息标签中,点击移动,按照产生的移动信息,让小汽车进行移动。要求提供完整程序代码以及运行结果截图(20分)
答:
运行截图:
2、编写一个班级推优(三好生)投票管理程序。列出参与推优的学生名单(8名),可以勾选进行投票,要求每个参选学生前面有图标表示候选人的性别,每人可以投4名候选人,每次投票后能够显示当前投票人数以及每名候选者得票数,图形化柱状图显示得票数,可以保存投票结果到文本文件。要求提供完整程序代码以及运行结果截图(20分)
答: 运行代码:
95分答案,想了解的加我weixin吧:ichenfu