Java面试题总.docx

上传人:b****2 文档编号:2356142 上传时间:2023-05-03 格式:DOCX 页数:25 大小:27.39KB
下载 相关 举报
Java面试题总.docx_第1页
第1页 / 共25页
Java面试题总.docx_第2页
第2页 / 共25页
Java面试题总.docx_第3页
第3页 / 共25页
Java面试题总.docx_第4页
第4页 / 共25页
Java面试题总.docx_第5页
第5页 / 共25页
Java面试题总.docx_第6页
第6页 / 共25页
Java面试题总.docx_第7页
第7页 / 共25页
Java面试题总.docx_第8页
第8页 / 共25页
Java面试题总.docx_第9页
第9页 / 共25页
Java面试题总.docx_第10页
第10页 / 共25页
Java面试题总.docx_第11页
第11页 / 共25页
Java面试题总.docx_第12页
第12页 / 共25页
Java面试题总.docx_第13页
第13页 / 共25页
Java面试题总.docx_第14页
第14页 / 共25页
Java面试题总.docx_第15页
第15页 / 共25页
Java面试题总.docx_第16页
第16页 / 共25页
Java面试题总.docx_第17页
第17页 / 共25页
Java面试题总.docx_第18页
第18页 / 共25页
Java面试题总.docx_第19页
第19页 / 共25页
Java面试题总.docx_第20页
第20页 / 共25页
亲,该文档总共25页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

Java面试题总.docx

《Java面试题总.docx》由会员分享,可在线阅读,更多相关《Java面试题总.docx(25页珍藏版)》请在冰点文库上搜索。

Java面试题总.docx

Java面试题总

一.选择题

1.以下属于面向对象的特征的是(C,D)。

(两项)

A)重载

B)重写

C)封装

D)继承

2.以下代码运行输出是(C)

publicclassPerson{

privateStringname="Person";

intage=0;

}

publicclassChildextendsPerson{

publicStringgrade;

publicstaticvoidmain(String[]args){

Personp=newChild();

System.out.println(p.name);

}

}

A)输出:

Person

B)没有输出

C)编译出错

D)运行出错

3.在使用super和this关键字时,以下描述正确的是(A)

A)在子类构造方法中使用super()显示调用父类的构造方法,super()必须写在子类构造方法的第一行,否则编译不通过

B)super()和this()不一定要放在构造方法第一行

C)this()和super()可以同时出现在一个构造函数中

D)this()和super()可以在static环境中使用,包括static方法和static语句块

//注意:

super不能用于static环境下

4.以下对封装的描述正确的是(D)

A)只能对一个类中的方法进行封装,不能对属性进行封装

B)如果子类继承了父类,对于父类中进行封装的方法,子类仍然可以直接调用

C)封装的意义不大,因此在编码时尽量不要使用

D)封装的主要作用在于对外隐藏部实现细节,增强程序的安全性

5.以下对继承的描述错误的是(A)

A) Java中的继承允许一个子类继承多个父类

B)父类更具有通用性,子类更具体

C) Java中的继承存在着传递性

D)当实例化子类时会递归调用父类中的构造方法

classPerson{

Stringname="Person";

intage=0;

publicPerson(){

System.out.println("Person");

}

}

classStuextendsPerson{

publicStu(){

System.out.println("stu");

}

}

publicclassAextendsStu{

publicstaticvoidmain(Stringargs[]){

newA();

}

}

执行结果:

Person

Stu

6.以下程序的运行结果是(D)

classPerson{

publicPerson(){

System.out.println("thisisaPerson");

}

}

publicclassTeacherextendsPerson{

privateStringname="tom";

publicTeacher(){

System.out.println("thisisateacher");

super();

}

publicstaticvoidmain(String[]args){

Teacherteacher=newTeacher();

System.out.println(this.name);

}

}

A)thisisaPerson

thisisateacher

tom

B)thisisateacher

thisisaPerson

tom

C)运行出错

D)编译有两处错误

7.以下说法错误的是(D)

A)super.方法()可以调用父类的所有非私有方法

B)super()可以调用父类的所有非私有构造函数

C)super.属性可以调用父类的所有非私有属性

D)this和super关键字可以出现在同一个构造函数中

8.以下关于final关键字说法错误的是(A)

A)final是java中的修饰符,可以修饰类、接口、抽象类、方法和属性

B)final修饰的类肯定不能被继承

C)final修饰的方法不能被覆写

D)final修饰的变量不允许被再次赋值

说明:

接口只能用public和abstract修饰,

9.访问修饰符作用围由大到小是(D)

A)private-default-protected-public

B)public-default-protected-private

C)private-protected-default-public

D)public-protected-default-private

10.以下(D)不是Object类的方法

A)clone()

B)finalize()

C)toString()

D)hasNext()

11.多态的表现形式有(A)

A)重写

B)抽象

C)继承

D)封装

12.以下对重载描述错误的是(B)

A)方法重载只能发生在一个类的部

B)构造方法不能重载

C)重载要求方法名相同,参数列表不同

D)方法的返回值类型不是区分方法重载的条件

13.以下(BD)添加到ComputerBook中不会出错

classBook{

protectedintgetPrice(){

return30;

}

}

publicclassComputerBookextendsBook{

}

A)protectedfloatgetPrice(){...}

B)protectedintgetPrice(intpage){...}

C)intgetPrice(){...}

D)publicintgetPrice(){...}

14.以下对抽象类的描述正确的是(C)

A)抽象类没有构造方法

B)抽象类必须提供抽象方法

C)有抽象方法的类一定是抽象类

D)抽象类可以通过new关键字直接实例化

15.以下对接口描述错误的有(D)

A)接口没有提供构造方法

B)接口中的方法默认使用public、abstract修饰

C)接口中的属性默认使用public、static、final修饰

D)接口不允许多继承

16.以下代码,描述正确的有(A)

interfaceIDemo{

publicstaticfinalStringname;1

voidprint();2

publicvoidgetInfo();3

}

abstractclassPersonimplementsIDemo{4

publicvoidprint(){

}

}

A)第1行错误,没有给变量赋值

B)第2行错误,方法没有修饰符

C)第4行错误,没有实现接口的全部方法

D)第3行错误,没有方法的实现

17.接口和抽象类描述正确的有(B,C)(两项)

A)抽象类没有构造函数

B)接口没有构造函数

C)抽象类不允许多继承

D)接口中的方法可以有方法体

18.以下描述错误的有(C)

A)abstract可以修饰类、接口、方法

B)abstract修饰的类主要用于被继承

C)abstract可以修饰变量

D)abstract修饰的类,其子类也可以是abstract修饰的

19.以下描述正确的有(B)

A)方法的重写应用在一个类的部

B)方法的重载与返回值类型无关

C)构造方法不能重载

D)构造方法可以重写

20.以下程序运行结果是(A)

publicclassTestextendsFather{

privateStringname="test";

publicstaticvoidmain(String[]args){

Testtest=newTest();

System.out.println(test.getName());

}

}

classFather{

privateStringname="father";

publicStringgetName(){

returnname;

}

}

A)father

B)test

C)编译出错

D)运行出错,无输出

21.以下程序运行结果是(B)

publicclassTestextendsFather{

privateStringname="test";

publicStringgetName(){

returnname;

}

publicstaticvoidmain(String[]args){

Testtest=newTest();

System.out.println(test.getName());

}

}

classFather{

privateStringname="father";

publicStringgetName(){

returnname;

}

}

A)father

B)test

C)编译出错

D)运行出错,无输出

22.以下对异常的描述不正确的有(C)

A)异常分为Error和Exception

B)Throwable是所有异常类的父类

C)Exception是所有异常类父类

D)Exception包括RuntimeException和RuntimeException之外的异常

23.在try-catch-finally语句块中,以下可以单独与finally一起使用的是(B)

A)catch

B)try

C)throws

D)throw

24.下面代码运行结果是(B)

publicclassDemo{

publicintadd(inta,intb){

try{

returna+b;

}catch(Exceptione){

System.out.print("catch语句块");

}finally{

System.out.print("finally语句块");

}

return0;

}

publicstaticvoidmain(String[]args){

Demodemo=newDemo();

System.out.print("和是:

"+demo.add(9,34));

}

}

A)编译异常

B)finally语句块和是:

43

C)和是:

43finally语句块

D)catch语句块和是:

43

25.以下描述不正确的有(D)

A)try块不可以省略

B)可以使用多重catch块

C)finally块可以省略

D)catch块和finally块可以同时省略

26.以下程序运行结果是(D)

publicclassTest{

publicintdiv(inta,intb){

try{

returna/b;

}catch(Exceptione){

System.out.println("Exception");

}catch(NullPointerExceptione){

System.out.println("ArithmeticException");

}catch(ArithmeticExceptione){

System.out.println("ArithmeticException");

}finally{

System.out.println("finally");

}

return0;

}

publicstaticvoidmain(String[]args){

Testdemo=newTest();

System.out.println("商是:

"+demo.div(9,0));

}

}

A)Exceptionfinally商是:

0

B)ArithmeticExceptionfinally商是:

0

C)finally商是:

0

D)编译报错

27.以下对TCP和UDP描述正确的是(D)

A)TCP不能提供数据的可靠性

B)UDP能够保证数据库的可靠性

C)TCP数据传输效率高于UDP

D)UDP数据传输效率高于TCP

28.在Java中,下面对于构造函数的描述正确的是(D)。

A)类必须显示定义构造函数

B)构造函数的返回类型是void

C)构造函数和类有相同的名称,并且不能带任何参数

D)一个类可以定义多个构造函数

29.根据下面的代码,

Strings=null;

会抛出NullPointerException异常的有(A,C)。

[两项]

A)if((s!

=null)&(s.length()>0))

B)if((s!

=null)&&(s.length()>0))

C)if((s==null)|(s.length()==0))

D)if((s==null)||(s.length()==0))

30.在Java中,关于HashMap类的描述,以下错误的是(B)。

A)HashMap使用键/值得形式保存数据

B)HashMap能够保证其中元素的顺序

C)HashMap允许将null用作键

D)HashMap允许将null用作值

31.下列选项中关于java中super关键字的说法错误的是(B)

A)super关键字是在子类对象部指代其父类对象的引用

B)super关键字不仅可以指代子类的直接父类,还可以指代父类的父类

C)子类可以通过super关键字调用父类的方法

D)子类可以通过super关键字调用父类的属性

32.在Java中,以下代码(A)正确地创建了一个InputStreamReader对象。

A)InuptStreamReader(newFileInputStream(“1.dat”));

B)InuptStreamReader(newFileReader(“1.dat”));

C)InuptStreamReader(newBufferReader(“1.dat”));

D)InuptStreamReader(“1.dat”);

33.在Java中,(D)类提供定位本地文件系统,对文件或目录及其属性进行基本操作。

A)FileInputStream

B)FileReader

C)FileWriter

D)File

34. Java中的集合类包括ArrayList、LinkedList、HashMap等类,下列关于集合类描述错误的是(C)

A)ArrayList和LinkedList均实现了List接口

B)ArrayList的访问速度比LinkedList快

C)添加和删除元素时,ArrayList的表现更佳

D)HashMap实现Map接口,它允许任何类型的键和值对象,并允许将null用作键或值

35.在Java中,JDBCAPI定义了一组用于与数据库进行通信的接口和类,它们包括在(B)包中。

A)java.lang

B)java.sql

C)java.util

D)java.math

36. Java中,以下(B)接口以键_值对的方式存储对象。

A)java.util.Collection

B)java.util.Map

C)java.util.List

D)java.util.Set

37.以下关于对象序列化描述正确的是(C,D)[两项]

A)使用FileOutputStream可以将对象进行传输

B)使用PrintWriter可以将对象进行传输

C)使用ObjectOutputStream类完成对象存储,使用ObjectInputStream类完成对象读取

D)对象序列化的所属类需要实现Serializable接口

38.在Java中,(A)类可用于创建链表数据结构的对象。

A)LinkedList

B)ArrayList

C)Collection

D)HashMap

39.使用JDBC事务的步骤是(C,A,B,D)(多选)

A)取消Connection的事务自动提交方式

B)发生异常回滚事务

C)获取Connection对象

D)操作完毕提交事务

40.要删除book表中书籍(bookName)是”java”的记录,以下代码正确的是(A)

Stringsql=”deletefrombookwherebookName=?

”;

PreparedStatementpst=con.preparedStatement(sql);

______________________________

pst.execute();

A)pst.setString(1,”java”);

B)pst.setString(0,”java”);

C)pst.setInt(0,”java”);

D)以上选项都不正确

41.以下可以正确获取结果集的有(AD)(多选)

A)Statementsta=con.createStatement();

ResultSetrst=sta.executeQuery(“select*frombook”);

B)Statementsta=con.createStatement(“select*frombook”);

ResultSetrst=sta.executeQuery();

C)PreparedStatementpst=con.preparedStatement();

ResultSetrst=pst.executeQuery(“select*frombook”);

D)PreparedStatementpst=con.preparedStatement(“select*frombook”);

ResultSetrst=pst.executeQuery();

42.以下负责建立与数据库连接的是(D)

A)Statement

B)PreparedStatement

C)ResultSet

D)DriverManager

43.使用JDBC连接数据库的顺序是(B,A,D,C,E)(多选)

A)加载驱动

B)导入驱动包

C)发送并处理SQL语句

D)建立于数据库的连接

E)关闭连接

 

1.Java语言是一种面向对象程序设计语言。

(对)

2.在Java有布尔类型,该类型只能有两个值:

1和0。

(错)

3.Java中一个类可以同时继承多个其他类,但只能实现一个接口。

(错)

4.在Java中字符串的长度和字符串中字符的个数是相等的。

(对)

5.程序中的异常是错误的一种,通过调试程序可以解决异常。

(错)

6.使用Java语言既可以读写二进制文件,又可以读写文本文件。

(对)

7.线程就是程序,只不过是代码较少。

(错)

二、填空题

1、面向对象程序设计所具有的基本特征是:

_封装性___,_继承性__,_多态性2、数组x定义如下

  intx[][]=newint[3][2]

  则x.length的值为____3________,

    x[0].length的值为_____2_______。

3、Java中实现多线程一般使用两种方法,一是___继承Thread类_________,二是_____实现Runnable方法__________

4、Java的图形用户界面设计中,有很多布局管理器用来摆放组件的位置,一般用到的布局管理器有(列出四种即可)__FlowLayout_____,___GridLayout_____,__BorderLayout_____,___CardLayout_______

5.字符串分为两大类,一类是字符串常量,使用(String)类的对象表示;另一类是字符串变量,使用()类的对象表示。

6.定义字符串:

Strings="abcd";,则s.charAt(0)的值是(‘a’),s.subString(0,3)的值是(“abc”)。

7.类的访问控制符有()和()两种,()类具有跨包访问性而()类不能被跨包访问。

8.使用()方法加载和注册驱动程序后,由()类负责管理并跟踪JDBC驱动程序,在数据库和相应驱动程序之间建立连接。

9.()语句只中断所在层循环中的当次循环,()语句只中断某一层的循环。

四、阅读程序,回答问题

1.

publicclassDemo{

publicstaticvoidmain(Stringargs[]){

inta[]={5,9,6,8,7};

fun(a);

print(a);

}

privatestaticvoidprint(int[]a){

for(inti=0;i

System.out.print(a[i]+"");

System.out.println();

}

privatestaticvoidfun(int...arg){

inti,j;

for(i=0;i

intk=i;

for(j=i;j

if(arg[j]

k=j;

inttemp=arg[i];

arg[i]=arg[k];

arg[k]=temp;

}

}

}

①Demo类中fun方法和print方法的功能分别是什么?

②该程序的执行结果是什么?

2.

classPerson{

Stringname="Person";

intage=0;

publicPerson(){

System.out.println("Person");

}

}

classStuextendsPerson{

publicStu(){

System.out.println("stu");

}

}

publicclassAextendsStu{

publi

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2