桂林理工大学考试(考查)试卷
(2017~ 2018 学年度 第 2 学期)
课程名称:java 程序设计 [A]卷
主要命题者:(填写在试卷第一页背面右上角)
课程序号:380160 考核专业班级:软件 16 级
题号 一 二 三 四 五 六 七 八 九 十 总分
得分
一、简答题(每题 4 分、共 24 分)
1、比较方法重写与方法重载,构造方法可以重载吗?
2、如何使用输入、输出流克隆对象?
3、简述类变量和实例变量的区别
4、简要说说 java 多线程机制中为什么要引入同步机制。
5、简述上转型对象及接口回调
6、比较抽象类与接口并说明面向抽象编程的目的与核心是什么?
1. 答:方法重载是:一个类中可以有多个方法具有相同的名字,但这些方法的参数必须不
同。
而方法重写也叫方法覆盖,是指子类中定义一个方法,这个方法的类型和父类的方法
的类型一致或者是父类的方法的类型的子类型,并且这个方法的名字、参数个数、参数的
类型和父类的方法完全相同。
可以。
2. 答:使用对象流很容易得获取一个序列化对象的克隆,只需将该对象写入到对象输出流 ,
那么用对象输入流读回的对象一定是原对象的一个克隆。
3. 答:一个类通过使用 new 运算符可以创建多个不同的对象,不同的对象的实例变量将被
分配不同的内存空间。所有对象的类变量都分配给相同的一处内存,对象共享类变量。
4. 答:Java 使我们可以创建多个线程,在处理多线程问题时,我们必须注意这样一个问题:
当两个或多个线程同时访问同一个变量,并且一个线程需要修改这个变量。我们应对这样
的问题作出处理,否则可能发生混乱。
5. 答:对象的上转型对象的实体是子类负责创建的,但上转型对象会失去原对象的一些属
性和功能。而接口回调指:可以把实现某一接口的类创建的对象的引用赋给该接口声明的
接口变量中。那么该接口变量就可以调用被类实现的接口中的方法。
6. 答:接口体中只有抽象方法,没有普通方法;抽象类既可以重写接口中的方法,也可以
直接拥有接口中的方法。
面向抽象编程目的是为了应对用户需求的变化,核心是让类中每种可能的变化对应地交给
抽象类的一个子类类去负责,从而让该类的设计者不去关心具体实现。