JavaOOP 试题
1) |
以下属于OOP的特征有()。 |
|
a)继承 |
|
b)封装 |
|
c)多态 |
|
d)隐藏 |
2) |
JavaOOP中的多态包括() |
|||
|
a) |
方法重写 |
b) |
方法重载 |
|
c) |
方法隐藏 |
d) |
以上都不对 |
3) |
Java中的访问修饰符包括( )。 |
|||
|
a) |
Public |
b) |
private |
|
c) |
protected |
d) |
internal |
4) |
Java中用于实现继承的关键字是。 |
||||
|
a) |
Extends |
b) |
implements |
|
|
c) |
: |
d) |
base |
|
5) |
以下有关Java继承的说法,正确的有 |
||||
|
a) |
Java中的继承是单一继承
|
b) |
Java中的继承不是单一继承 |
|
|
c) |
子类可以自动继承父类的全部方法和属性 |
d) |
构造方法和私有方法,私有属性不会被子类继承() |
|
6) |
Java中,在子类访问父类的关键字是。 |
|
|
a)super |
|
|
b)base |
|
|
c)this |
|
|
d)this.parent |
|
7) |
在java中,如果有父类的引用指向子类的对象的情,以下说法正确的有 |
|||
|
a) |
如果用父类的引用调用子类的方法必须是重写的方法 |
b) |
如果用父类的引用调用子类的方法必须是重载的方法 |
|
c) |
如果用父类的引用调用子类的方法,不用重写也不用重载 |
d) |
.在父类中写成虚方法,子类使用new关键字就隐藏(C++) |
8) |
以下关于Java重载的说法错误的有 |
||||
|
a) |
重载一般发生在一个类中 |
b) |
重载的方法名称相同 |
|
|
c) |
重载的方法的参数类型和个数相同 |
d) |
重载的方法的返回类型相同(无要求) |
|
9) |
在Java 中,定义抽象类和抽象方法的关键字是。 |
|
|
a)abstract |
|
|
b)final |
|
|
c)virtual |
|
|
d)interface |
|
10) |
Java中关于抽象类,以下说法不正确的的有( )。 |
|
|
a)抽象类中可以没有抽象方法y |
|
|
b)抽象类中可以实例方法(是正确的,即不加static or abstract) |
|
|
c)有抽象方法的类一定是抽象类 |
|
|
d)抽象方法中一定有抽象类 |
|
11) |
在java中有关抽象类和继承的说法正确的有( ) |
|
|
a)抽象类不能够创建实例 |
|
|
b)如果子类继承了抽象类,必须实现父类中的全部抽象方法,否则子类也应声明成抽象类 |
|
|
c)可以用抽象类的引用指向实现了该抽象类的对象(是正确的) |
|
|
d)一个类可以同时继承多个抽象类 |
|
12) |
在java中有关接口的说法错误的有 |
|
|
a)定义接口使用interface关键字 |
|
|
b)接口的方法必须全部是抽象方法 (是y) |
|
|
c)接口中可以包含非抽象方法 |
|
|
d)接口中的属性必须是常量 |
|
13) |
在java中有关接口的说法错误的有 |
|
|
a)一个类可以同时实现多个接口 |
|
|
b)一个类只能实现一个接口 X |
|
|
c)一个类可以先继承一个类并同时实现一个接口 |
|
|
d)一个类可以先实现一个接口再继承一个类 X (extends 先,implement 后) |
|
14) |
在try-catch-finally中,以下可以与finally一起使用的是() |
||||
|
a) |
Try (only) |
b) |
catch |
|
|
c) |
throw |
d) |
throws |
|
15) |
下面代码运行结果是 public class Demo { public int add(int a,int b){ try{ return a+b; } catch(Exception e){ System.out.println("catch语句块"); }finally{ System.out.println("finally语句块");} return 0; } public static void main(String[] args) { Demo demo=new Demo(); System.out.println("和是:\t"+demo.add(9,34)); } } |
|
|
a)编译异常 |
|
|
b)finally语句块 和是43 |
|
|
c)和是43 |
|
|
d)finally语句块 |
|
16) |
以下对自定义的异常描述正确的是:( ) |
|
a)自定义的异常必须继承Exception (X,亦可Throwable) |
|
b)自定义的异常可以更加明确的定位异常出错的位置,同时给出详细的异常信息 |
|
c)自定义的异常类的父类可以继承Error (X,一般不拿来继承) |
|
d)java中不能自定义异常类 |
17) |
以下对log4j日志信息级别由高到低排列,确的是 |
||||
|
a) |
Error,warn,info,debug |
b) |
Info,debug,error,warn |
|
|
c) |
Warn,info,debug,error |
d) |
Debug,erro,warn,info |
|
18) |
以下在Java中每个基本数据类型与对应的封装类,对应不正确的有 |
|
|
a)int Integer |
|
|
b)float Float |
|
|
c)double Double |
|
|
d)char Char (X,应该是Character) |
|
19) |
在Java中,有关装箱和拆箱说法正确的是 |
|
|
a)java中的八种基本数据类型有String,int,float,double,char,long,float |
|
|
b)装箱是由基本数据类型转换为包装类 |
|
|
c)拆箱是由包装类转换为基本数据类型 |
|
|
d)以上说法都不正确 |
|
20) |
以下对反射描述错误的是() |
|
||
|
a)反射是程序在运行时能够获取自身信息的机制 y |
|
||
|
b)通过反射可以获取类的结构,首先要取得类的Class对象 y |
|
||
|
c)通过反射可以调取一个类中的方法 y |
|
||
|
d)通过反射只能获取当前类的结构信息,不可以获取当前类父类的结构信息
|
|
||
21) |
以下关于端口号和IP地址描述正确的是() a)IP地址是用来区分不同计算机的标识 b) 端口号是用来区分不同计算机的标识 c)端口号是用来区分计算机中不同程序(à进程)的标识 d)IP是用来区分计算机中不同程序的标识 |
|
||
|
|
|
||
|
22)
23)
24)
25)
26)
27)
28)
29)
30)
31)
32)
33)
34)
35)
36)
37)
38)
39)
40)
41)
42)
43)
44)
|
在Java集合框架中,下列属哪一个是属于集合框架的根接口 a)Collection b)Collections c)Map d)Set
以下集合类以键值对形式存储的是 a.ArrayList (线性表) b.HashSet(X,集合下属的接口。List线性表,Set集合无序) c.Vector d.HashMap
以下对HashMap和HashTable描述正确的是( )。 a.HaspMap和HashTable均是以健值对形式存储数据 b.HashMap不允许有空键和空值(允许) c.HashTable不允许有空键和空值 (Y,不允许) d. HashMap和HashTable中的键不允许重复
以下代码运的结果是( )。 package com; import java.util.*; public class Demo { public static void main(String[] args) { Vector list=new Vector(); (线程安全的,速度慢;不安全的,快) list.add("a"); list.add("b"); list.add("c"); list.add("d"); System.out.println(list.capacity()); (capacity()容量,初始容量是10,会自动扩充)} //Size()则表示实际的数量 } a.4 b.10 c.8 d.产生索引越界异常
以下代码的运行结果是( )。 package com; import java.util.*; public class Demo { public static void main(String[] args) { LinkedList list=new LinkedList(); list.add("a"); list.add("b"); list.add("c"); list.add("d"); for(int i=0;i<list.size();i++){ (该循环条件保证不越界) System.out.print(list.remove(i)); (每移除一个,元素个数少一个。下标始终0就可以,避免越界)} } } a.abcd b.ac c.产生索引越界异常 d.bd
如果要给集合中的自定义对象排序,可以实现的方式有()。Collection的sort() a)让该对象实现java.lang.Comparable接口,重写public intcompareTo(Object o)方法 (1:比o大,-1:比o小,0相等) b)编写一个比较器实现Comparator接口,重写public int compare(Object o1, Object o2)方法 c)让该对象实现序列化接口,序列化后就可以排序 (X) d)自定义对象不能比较,只比较字符串和日期和时间类的对象(X) 在Java中,下列哪些接口是直接继承了Collection接口()。 a) List b) Map c) Set d) HashTable
以下对泛型描述正确的是()。 a)泛型可以解决数据安全性问题 X(解决数据类型安全) b)泛型是指声明类是不指定类中属性的具体类型,而是在声明及实例化对象时由外部指定类型 X c)泛型定义包括泛型类定义和泛型对象定义两部分 X d)以上说法都不正确
以下属于管理JDBC驱动程序的类是 a) java.sql.DriverManager c) java.sql.Connection c) java.sql.Statement d) java.sql.ResultSet
在Java数据库连接中,直接使用各个厂商提供的JDBC驱动程序,属于以下哪一种驱动( )。 a) 本地协议纯JDBC驱动 c) JDBC网络驱动 c) 纯Java驱动 d) jdbc-odbc桥驱动
以下在Java数据库连接用来执行Sql语句的对象是() a) java.sql.Statement类的对象 b)java.sql.ResultSet类的对象 c)java.sql.Connection类的对象 d)java.sql.PreparedStatement类的对象
在Java数据库连接中,用来保存结果集的对象是( )。 a) java.sql.ResultSet类的对象 b)java.sql.Statement类的对象 c)java.sql.Connection类的对象 d)java.sql.PreparedStatement类的对象
使用JDBC事务的步骤是( )。 (同时修改两张表,运行两个SQL语句,要么同时成功,要么同时失败) 1)取消Connection的事务提交方式 2) 发生异常回滚事务 3) 获取Connection对象 4)数据操作完毕后提交事务 a)1234 b)3124 c)2134 d)231 Connection con=DBUtil.getConn(); //取得数据库连接 Transaction trans=con.beginTransaction(); trans.setAutoCommit(false); //设置自动为false
Pstmt=con.preparedStatement(sql1); Pstmt.executeUpdate(); /// Pstmt=con.preparedStatement(sql2); Pstmt.executeUpdate(); //执行 如果异常,回滚
如果要把结果集设置成可任意滚动并允许更新,以下正确的设置是( )。 a)con.preparedStatement(sql,ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY) b)con.preparedStatement(sql,ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE) c)con.preparedStatement(sql,ResultSet.TYPE_FORWARD_ONLY,ResultSet.CONCUR_READ_ONLY) d) 不用设置,默认就是的
存储过程pro有两个参数,第一个为输入参数,第二个为输出参数,以下代码正确的是() a) CallableStatement cst=con.prepareCall(“(call pro(?,?))”) b) CallableStatement cst=con.prepareCall(“(call pro(?))”) c) CallableStatement cst=con.prepareCall(“{call pro(?,?)}”) d) CallableStatement cst=con.prepareCall(“{call pro(?,?,?)}”)
在Java中编写实现序列化的类,正确的方法是( )。 a) 可以使用[Serializable]特性将类标志为可序列化的 b) 继承Serializable类 c) 实现Serializable接口(能被序列化的对象所对应的类必须实现java.io. Serializable这个标识性接口) d) 不用定义,Java中的类本身就可以序列化
关于RandomAccess类,描述正确的是( )。 a) RandomAccessFile类支持”随机访问”文件的方式 (Y) b) RandomAccessFile类只能访问文件,不能修改文件 c) RandomAccessFile类既可以随机访问文件,也可以随机修改文件 d) 使用RandomAccessFile类只能一次向文件中写入一个字符串
在Java中创建线程类的方式,正确的有()。 a) 继承Thread类,重写run方法 b) 实现Thread接口,实现run方法 c)继承Runnable类,重写run方法 d) 实现Runnable接口,实现run方法
在Java中,可以使线程阻塞的主法有( )。 a) sleep方法; b) wait方法 nodify c) yield方法 (让步。不会阻塞。只是转成就绪态!) d)start方法
Java中的线程同步包括() a)同步代码块 b) 同步方法 c)同步类 d) 同步对象 (锁定:public synchronized int add (int a,int b){ Synchronized{ } //用在数据更新 })
以下对线程生命周期描述正确的有( ) a)线程的生命周期人为就绪、运行、终止三种状态 b)线程的生命周期分为创建、就绪、运行、阻塞、终止五种状态 (Y ) c)线程生命周期中调用yeild方法可以使线程从运行状态转换至就绪状态 d) 以上说法都不正确 (线程的生命周期分为新建、可运行、阻塞、等待、超时等待、中止六种状态)
以下关于TCP程序设计,描述正确的是() a) Java中采用TCP协议进行网络编程只能提供单向的通信 b) 采用TCP协议进行网络编程需提供服务器端和客户端 c) ServerSocket类存在于客户端 d) ServerSocket类用于Tcp服务器端 (Y)
以下对于UDP程序设计的描述,正确的是( )。 a)采用UDP协议进行网络编程能够保证数据的可靠传输 (X,不可靠) b) DatagramPacket用于发送和接收信息 (Y) c)DatagramSocket是UDP网络编程中的数据传输模式 (对象非模式) d)UDP协议编程中需提供信息发送端和接收方 |
||
45)
46)
47)
48)
49)
50) |
以下对TCP和UDP协议描述正确的是() a) TCP不能提供数据的可靠性传输 b) UDP能够保证数据的可靠性传输 c) TCP数据传输效率高于UDP d) UDP数据传输效率高于TCP (UDP是一种高传输速度,低可靠性的协议,可靠性只是简单的CRC校验)
以下有关线程的描述错误的是( ) a) 线程可以多次调用start方法(一个线程不能同时调用start方法) b) 调用sleep方法可以使当前线程进入休眠状态y c) 调用yield可以暂停当前运行的线程,而运行其他同级(或更高级)别线程 d) 线程的名称是系统自动分配的,不能自定义线程对象名称 (X) setname
以下对字节流、字符流描述错误的是( ) a) 字节流、字符流是从文件传输的格式进行的划分 b) 字节流、字符流可以相互转换 c) 字符流操作数据不使用缓冲区 d) 字节流操作数据不使用缓冲区
以下关于对象序列化描述正确的是( ) a) 使用FileOutputStream可以将对象进行传输 b) 使用PrintWriter可以将对象进行传输 c) 使用ObjectOutputStream类完成对象存储,使用ObjectInputStream类完成对象读取 d) 使用PrintWriter向文件写入数据时必须调用flush()方法
以下对JDBC事务描述错误的是() a) JDBC事务属于Java事务的一种 b) JDBC事务属于容器事务类型 c) JDBC事务可以保证操作的完整性 d) JDBC事务是由Connection发起的,并由Connection控制
获取ResultSet对象rst的第一行数据, 以下正确的是( ) a) rst.hasNext() b) rst.next() c) rst.first() d) rst.nextRow()
|
|
||
posted on 2016-07-31 20:51 CuriousZero 阅读(4669) 评论(0) 编辑 收藏 举报