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()

 

 

 

         

 

时间: 2024-10-22 00:30:45

JavaOOP 试题的相关文章

BAT Androidproject师面试流程解析+还原最真实最完整的一线公司面试题

尊重原创,转载请写明原文出处:http://blog.csdn.net/sk719887916/article/details/47040931 (skay) 求职和我们每一个人息息相关.而求职也有门道.好的发挥和技巧也许能让我们以压倒性优势在面试中胜出,可能我们技不如人,可是我们的综合能力假设优秀的话,企业也愿意招这种人,因此我将自己亲身经历的BAT和其它知名互联网的面试经验分享给大家.让有技术的人展现获得展现自我的平台,前几天在网上一搜,一系列的百度面试题,我特别兴奋,点击练链接一看,差点给

BAT安卓工程师面试流程解析+还原最真实最完整的一线公司面试题

尊重原创,转载请写明原文出处:http://blog.csdn.net/sk719887916/article/details/47040931 (skay) 求职和我们每个人息息相关,而求职也有门道,好的发挥和技巧或许能以压倒性优势在面试中胜出,回或许我们技不如人,但是我们的综合能力如果良好的话,企业也愿意招这样的人,因此我将自己亲身经历的BAT和其他知名互联网的面试经验分享给大家,让有技术的人展现获得展现自我的平台,前几天在网上一搜,一系列的百度面试题,我特别兴奋,点击练链接一看,差点给吓尿

【转】嵌入式软件工程师经典笔试题

嵌入式软件工程师经典笔试题 > 预处理器(Preprocessor) 1. 用预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题) #define SECONDS_PER_YEAR (60 * 60 * 24 * 365)UL 我在这想看到几件事情: 1). #define 语法的基本知识(例如:不能以分号结束,括号的使用,等等) 2). 懂得预处理器将为你计算常数表达式的值,因此,直接写出你是如何计算一年中 有多少秒而不是计算出实际的值,是更清晰而没有代价的. 3).

10个常见的Node.js面试题

如果你希望找一份有关Node.js的工作,但又不知道从哪里入手评测自己对Node.js的掌握程度. 本文就为你罗列了10个常见的Node.js面试题,分别考察了Node.js编程相关的几个主要方面. 在进入正文之前,需要提前声明两点: 这些问题只是Node.js知识体系的一个局部,并不能完全考察被面试者的实际开发能力. 对现实世界开发中遇到的问题,需要的是随机应变与团队合作,所以你可以尝试结对编程. Node.js面试题列表 什么是错误优先的回调函数? 如何避免回调地狱? 如何用Node来监听8

.NET教程:.NET 面试题之IEnumerable

.NET教程,今天给大家介绍的是:.NET 面试题之IEnumerable ,这是在面试的时候可能会碰到的一道题目,这道题的注解分为了两个部分,这一篇是第一部分! 什么是IEnumerable? IEnumerable及IEnumerable的泛型版本IEnumerable是一个接口,它只含有一个方法GetEnumerator.Enumerable这个静态类型含有很多扩展方法,其扩展的目标是IEnumerable. 实现了这个接口的类可以使用Foreach关键字进行迭代(迭代的意思是对于一个集合

java 19 - 9 finally有关的面试题

1 /* 2 * 面试题: 3 * 1:final,finally和finalize的区别 4 * final:最终的意思,可以修饰类,成员变量,成员方法 5 * 修饰类,类不能被继承 6 * 修饰变量,变量是常量 7 * 修饰方法,方法不能被重写 8 * finally:是异常处理的一部分,用于释放资源. 9 * 一般来说,代码肯定会执行,特殊情况:在执行到finally之前jvm退出了 10 * finalize:是Object类的一个方法,用于垃圾回收 11 * 12 * 2:如果catc

java面试题大全

java面试笔试题大汇总     第一,谈谈final, finally, finalize的区别. 最常被问到. 第二,Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以implements(实现)interface(接口)? 第三,Static Nested Class 和 Inner Class的不同,说得越多越好(面试题有的很笼统). 第四,&和&&的区别. 这个问得很少. 第五,HashMap和Hashtable的区

【面试】iOS 开发面试题(二)

1. 我们说的oc是动态运行时语言是什么意思? 答案:多态. 主要是将数据类型的确定由编译时,推迟到了运行时. 这个问题其实浅涉及到两个概念,运行时和多态. 简单来说,运行时机制使我们直到运行时才去决定一个对象的类别,以及调用该类别对象指定方法. 多态:不同对象以自己的方式响应相同的消息的能力叫做多态.意思就是假设生物类(life)都用有一个相同的方法-eat; 那人类属于生物,猪也属于生物,都继承了life后,实现各自的eat,但是调用是我们只需调用各自的eat方法. 也就是不同的对象以自己的

JAVA常见面试题及解答-java开发

JAVA常见面试题及解答 Java的垃圾回收总结  浅谈Java中的内部类 1)transient和volatile是java关键字吗? 如果用transient声明一个实例变量,当对象存储时,它的值不需要维持.例如: class T { transient int a;  //不需要维持 int b;  //需要维持 } 这里,如果T类的一个对象写入一个持久的存储区域,a的内容不被保存,但b的将被保存. volatile修饰符告诉编译器被volatile修饰的变量可以被程序的其他部分改变.在多