Java高级编程期末考试真题试卷及复习资料
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
名词解释:
1.泛型
答:即参数化类型,允许程序创建集合时指定集合元素的类型。在定义方法、类、接口时使用类型形参,类型形参将在声明变量、调用方法、创建对象时动态地指定.如:List
2. 多态
答:Java引用变量分为编译时的类型和运行时的类型,编译时类型由声明该变量时使用的类型决定,运行时类型由实际赋给该变量的对象决定。如果两类型不一致,就出现多态。
3.阻塞
答:当前正在执行的线程被阻塞之后,其他线程就获得执行机会.被阻塞的线程会在合适的时候重新进入就绪状态,重新等待线程调度器再次调度它。
4. 封装
答:面向对象三大特征之一。指将对象的状态信息隐藏在对象内部,不允许外部程序直接访问,只能通过该类提供的方法来实现对内部信息的操作和访问。
5. 继承
答:类继承是新类可以从现有的类中派生。派生类继承了基类的非私有成员变量和方法,派生类可以拥有自己的成员变量和方法,可以用自己的方式实现基类的方法。
6. 抽象:
答:抽象就是忽略主题中与目标无关的方面,关注与目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不管部分细节。抽象包括两个方面,一是过程抽象,二是数据抽象。
选择题
第一大类(集合),如:
1、在Java中,(A )类的对象可被用作堆栈或者队列。
A. LinkedList
B. ArrayList
C. Collection
D. HashMap
2、关于Java中的集合实现类,下列说法描述错误的是(D )。
A. HashMap是Map接口的实现类
B. ArrayList对象是长度可变的对象引用数组
C. 集合框架都包含三大块内容:对外的接口、接口的实现和对集合运算的算法
D. Set中存储一组不允许重复、有序(无序)的对象
第二大类(JDBC与SQL编程),如:
1、使用JDBC访问数据库时,下列关于JDBC的说法正确的是(B )。
A. Connection接口负责执行SQL语句
B. 可以使用Class.forName()方法把JDBC驱动类装载入Java虚拟机中
C. Statement接口由Connection产生负责保存返回的查询结果
D. DriverManager类负责连接数据库并传送数据
2、在Java中,以下关于得到ResultSet对象、PreparedStatement对象、Statement 对象的说法,正确的是(AC )。
A. 可以使用Statement对象的executeQuery方法返回ResultSet对象
B. 可以使用Connection对象的createStatement方法获得PreparedStatement对象
C. 可以使用Connection对象的createStatement方法获得Statement对象
D. 可以使用Connection对象的executeQuery方法返回ResultSet对象
第三大类(线程),如:
1、下面关于Java主线程的说法错误的是(D )。
A.主方法所在的线程即主线程。
B.在多线程应用中,主线程的主要作用是启动其它线程。
C.主线程与其它线程是平等的。
D.主线程结束,整个应用将结束。
2、关于synchronized关键字的说法正确的是( A )。
A.通过synchronized关键字可以同步代码块,实现多线程对共享资源访问的原子性、互斥性。
B.使用synchronized关键字时,同步锁对象不一定存在。
C.synchronized关键字的使用不可能导致死锁。
D.synchronized关键字可以修饰类。
第四大类(Socket编程),如:
1、下面关于Socket编程说法不正确的是( C )。
A.通过Socket可以获得字节输入流,以接收对方Socket发来的信息。
B.通过Socket可以获得字节输出流可以向对象Socket发送信息。
C.通过Socket获得的是字节流,因此不能发送字符信息。
D.通过Socket可以在通信双方主机之间传送Java对象。
2、通过流的read()方法读取数据,如何判断流结尾?(A )。
A. 返回-1表示流结尾。
B. 返回null表示流结尾。
C. 返回0表示流结尾。
D. 遇到流结尾将抛出异常。
简答题
1. 什么是可变参数?
答:适用于参数个数不确定,类型确定的情况,java把可变参数当做数组处理。调用这个方法的时,可以传给它任意个参数,JVM都能将这些数据封装成一个数组,按照方法内的操作进行操作。可变参数定义时必须放在参数列表的最后面。
2. JAVA垃圾回收是指什么?
答:垃圾回收是一种动态存储管理技术,能自动释放无用对象,按照特定算法自动释放内存空间,减轻编程的负担。
3. 什么是初始化数据块?
答:初始化块是java类里第4种成员;由大括号{…}括起,可由static修饰;无名字,无法通过对象、类来被调用;在构造器之前执行,且不能接受形参。
4. JAVA中"equals"和"=="它们之间有什么区别?
答:equals 方法检测两个对象的内容是否相等,区分大小写。
==比较基本数据类型时,如果两个值相同,则结果为true,而在比较引用时,如果引用指向同一对象,结果为true