《2017年最新Java经典笔试面试题.docx》由会员分享,可在线阅读,更多相关《2017年最新Java经典笔试面试题.docx(29页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、2017年最新Java经典笔试面试题想要成为java程序员可不是容易的事情,下面YJBYS我为大家精心搜集了关于Java经典笔试的面试题,欢迎大家参考借鉴,希望能够帮助到大家!一.选择题(共50题,每题1.5分,共75分。多项选择题选不全或选错都不得分。)1.下面属于面向对象的特征的是(C,D)。(两项)A)重载B)重写C)封装D)继承2.下面代码运行输出是(C)publicclassPersonprivateStringname=Personintage=0;publicclassChildextendsPersonpublicStringgrade;publicstaticvoidmain
2、(Stringargs)Personp=newChild();System.out.println(p.name);A)输出:PersonB)没有输出C)编译出错D)运行出错3.在使用super和this关键字时,下面描绘正确的是(A)A)在子类构造方法中使用super()显示调用父类的构造方法,super()必须写在子类构造方法的第一行,否则编译不通过B)super()和this()不一定要放在构造方法内第一行C)this()和super()能够同时出如今一个构造函数中D)this()和super()能够在static环境中使用,包括static方法和static语句块4.下面对封装的描绘正
3、确的是(D)A)只能对一个类中的方法进行封装,不能对属性进行封装B)假如子类继承了父类,对于父类中进行封装的方法,子类仍然能够直接调用C)封装的意义不大,因而在编码时尽量不要使用D)封装的主要作用在于对外隐藏内部实现细节,加强程序的安全性5.下面对继承的描绘错误的是(A)A)Java中的继承允许一个子类继承多个父类B)父类更具有通用性,子类更详细C)Java中的继承存在着传递性D)当实例化子类时会递归调用父类中的构造方法6.下面程序的运行结果是(D)classPersonpublicPerson()System.out.println(thisisaPerson);publicclassTea
4、cherextendsPersonprivateStringname=tompublicTeacher()System.out.println(thisisateacher);super();publicstaticvoidmain(Stringargs)Teacherteacher=newTeacher();System.out.println(this.name);A)thisisaPersonthisisateachertomB)thisisateacherthisisaPersontomC)运行出错D)编译有两处错误7.下面讲法错误的是()A)super.方法()能够调用父类的所有非私
5、有方法B)super()能够调用父类的所有非私有构造函数C)super.属性能够调用父类的所有非私有属性D)this和super关键字能够出如今同一个构造函数中8.下面关于final关键字讲法错误的是(A,C)(两项)A)final是java中的修饰符,能够修饰类、接口、抽象类、方法和属性B)final修饰的类肯定不能被继承C)final修饰的方法不能被重载D)final修饰的变量不允许被再次赋值9.访问修饰符作用范围由大到小是(D)A)private-default-protected-publicB)public-default-protected-privateC)private-pro
6、tected-default-publicD)public-protected-default-private10.下面(D)不是Object类的方法A)clone()B)finalize()C)toString()D)hasNext()11.多态的表现形式有(A)A)重写B)抽象C)继承D)封装12.下面对重载描绘错误的是(B)A)方法重载只能发生在一个类的内部B)构造方法不能重载C)重载要求方法名一样,参数列表不同D)方法的返回值类型不是区分方法重载的条件13.下面(D)添加到ComputerBook中不会出错classBookprotectedintgetPrice()return30;
7、publicclassComputerBookextendsBookA)protectedfloatgetPrice()B)protectedintgetPrice(intpage)C)intgetPrice()D)publicintgetPrice()return10;14.下面对抽象类的描绘正确的是(C)A)抽象类没有构造方法B)抽象类必须提供抽象方法C)有抽象方法的类一定是抽象类D)抽象类能够通过new关键字直接实例化15.下面对接口描绘错误的有(D)A)接口没有提供构造方法B)接口中的方法默认使用public、abstract修饰C)接口中的属性默认使用public、static、fi
8、nal修饰D)接口不允很多继承16.下面代码,描绘正确的有(A)interfaceIDemopublicstaticfinalStringname;1voidprint();2publicvoidgetInfo();3abstractclassPersonimplementsIDemo4publicvoidprint()A)第1行错误,没有给变量赋值B)第2行错误,方法没有修饰符C)第4行错误,没有实现接口的全部方法D)第3行错误,没有方法的实现17.接口和抽象类描绘正确的有(B,C)(两项)A)抽象类没有构造函数B)接口没有构造函数C)抽象类不允很多继承D)接口中的方法能够有方法体18.下面
9、描绘错误的有(C)A)abstract能够修饰类、接口、方法B)abstract修饰的类主要用于被继承C)abstract能够修饰变量D)abstract修饰的类,其子类可以以是abstract修饰的19.下面描绘正确的有(B)A)方法的重写应用在一个类的内部B)方法的重载与返回值类型无关C)构造方法不能重载D)构造方法能够重写更多相关java笔试题目共享:2014最新Java笔试题集锦吉联JAVA笔试题2014巨人网络java笔试题大唐电信java笔试题目华为Java笔试题2015校园招聘JAVA笔试题JAVA常见面试笔试题及解答(精华)关于Javascript之AJAX的基础知识笔试题目中
10、兴软件笔试题及答案java基础笔试题Java面试题集20.下面程序运行结果是(A)publicclassTestextendsFatherprivateStringname=testpublicstaticvoidmain(Stringargs)Testtest=newTest();System.out.println(test.getName();classFatherprivateStringname=fatherpublicStringgetName()returnname;A)fatherB)testC)编译出错D)运行出错,无输出21.下面对异常的描绘不正确的有(C)A)异常分为Er
11、ror和ExceptionB)Throwable是所有异常类的父类C)Exception是所有异常类父类D)Exception包括RuntimeException和RuntimeException之外的异常22.在try-catch-finally语句块中,下面能够单独与finally一起使用的是(B)A)catchB)tryC)throwsD)throw23.下面代码运行结果是(B)publicclassDemopublicintadd(inta,intb)tryreturna+b;catch(Exceptione)System.out.println(catch语句块);finallySy
12、stem.out.println(finally语句块);return0;publicstaticvoidmain(Stringargs)Demodemo=newDemo();System.out.println(和是:+demo.add(9,34);A)编译异常B)finally语句块和是:43C)和是:43finally语句块D)catch语句块和是:4324.下面描绘不正确的有(D)A)try块不能够省略B)能够使用多重catch块C)finally块能够省略D)catch块和finally块能够同时省略25.下面对自定义异常描绘正确的是(C)A)自定义异常必须继承ExceptionB)
13、自定义异常能够继承自ErrorC)自定义异常能够愈加明确定位异常出错的位置和给出具体出错信息D)程序中已经提供了丰富的异常类,使用自定义异常没有意义26.下面程序运行结果是(D)publicclassTestpublicintdiv(inta,intb)tryreturna/b;catch(Exceptione)System.out.println(Exception);catch(NullPointerExceptione)System.out.println(ArithmeticException);catch(ArithmeticExceptione)System.out.println
14、(ArithmeticException);finallySystem.out.println(finally);return0;publicstaticvoidmain(Stringargs)Testdemo=newTest();System.out.println(商是:+demo.div(9,0);A)Exceptionfinally商是:0B)ArithmeticExceptionfinally商是:0C)finally商是:0D)编译报错27.下面对TCP和UDP描绘正确的是(D)A)TCP不能提供数据的可靠性B)UDP能够保证数据库的可靠性C)TCP数据传输效率高于UDPD)UDP
15、数据传输效率高于TCP28.在Java中,下面对于构造函数的描绘正确的是(D)。(选择一项)A)类必须显示定义构造函数B)构造函数的返回类型是voidC)构造函数和类有一样的名称,并且不能带任何参数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类的
16、描绘,下面廉洁错误的是(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(
17、newFileInputStream(1.dat);B)InuptStreamReader(newFileReader(1.dat);C)InuptStreamReader(newBufferReader(1.dat);D)InuptStreamReader(1.dat);33.在Java中,(D)类提供定位本地文件系统,对文件或目录及其属性进行基本操作。A)FileInputStreamB)FileReaderC)FileWriterD)File34.Java中的集合类包括ArrayList、LinkedList、HashMap等类,下列关于集合类描绘错误的是(C)(选择一项)A)Array
18、List和LinkedList均实现了List接口B)ArrayList的访问速度比LinkedList快C)添加和删除元素时,ArrayList的表现更佳D)HashMap实现Map接口,它允许任何类型的键和值对象,并允许将null用作键或值35.在Java中开发JDBC应用程序时,使用DriverManager类的getConnection()方法建立与数据源的连接语句为:Connectioncon=DriverManager.getConnection(jdbc:odbc:news);URL连接中的news表示的.是(C)(选择一项)A)数据库中表的名称B)数据库服务器的机器名C)数据源
19、的名称D)用户名36.在Java中,JDBCAPI定义了一组用于与数据库进行通信的接口和类,它们包括在(B)包中。A)java.langB)java.sqlC)java.utilD)java.math37.Java中,下面(B)接口以键_值对的方式存储对象。A)java.util.CollectionB)java.util.MapC)java.util.ListD)java.util.Set38.下面关于对象序列化描绘正确的是(C,D)两项A)使用FileOutputStream能够将对象进行传输B)使用PrintWriter能够将对象进行传输C)使用ObjectOutputStream类完成
20、对象存储,使用ObjectInputStream类完成对象读取D)对象序列化的所属类需要实现Serializable接口39.在Java中,(A)类可用于创立链表数据构造的对象。A)LinkedListB)ArrayListC)CollectionD)HashMap40.分析下面这段Java代码,它的运行结果是(C)。Importjava.io.*;PublicclassBPublicstaticvoidmain(stringargs)inti=12;System.out.println(i+=i-=i*=i);A)100B)0C)-120D)程序无法编译41.使用JDBC事务的步骤是(C,A
21、,B,D)(多项选择)A)取消Connection的事务自动提交方式B)发生异常回滚事务C)获取Connection对象D)操作完毕提交事务42.下面对JDBC事务描绘错误的是(B)A)JDBC事务属于JAVA事务的一种B)JDBC事务属于容器事务类型C)JDBC事务能够保证操作的完好性和一致性D)JDBC事务是由Connection发起的,并由Connection控制43.要通过可滚动的结果集更新数据,下面正确的是(AA)pst=con.prepareStatement(sql,ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABL
22、E)B)pst=con.prepareStatement(sql,ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY)C)pst=con.prepareStatement(sql,ResultSet.TYPE_SCROLL_SENSITIVE)D)pst=con.prepareStatement(sql,ResultSet.CONCUR_UPDATABLE)44.存储经过pro有两个参数,第一个为输入参数,第二个为输出参数,下面代码正确的是(C)A)CallableStatementcst=con.prepareCall(cal
23、lpro(?,?);B)CallableStatementcst=con.prepareCall(callpro(?);C)CallableStatementcst=con.prepareCall(callpro(?,?);D)CallableStatementcst=con.prepareCall(callpro(?,?,?);45.下面描绘正确的是(B)A)CallableStatement是PreparedStatement的父接口B)PreparedStatement是CallableStatement的父接口C)CallableStatement是Statement的子接口D)Pre
24、paredStatement是Statement的父接口46.要删除book表中书籍(bookName)是java的记录,下面代码正确的是(AStringsql=deletefrombookwherebookName=?PreparedStatementpst=con.preparedStatement(sql);_pst.execute();A)pst.setString(1,java);B)pst.setString(0,java);C)pst.setInt(0,java);D)以上选项都不正确47.获取ResutlSet对象rst的第一行数据,下面正确的是(B)A)rst.hashNex
25、t();B)rst.next();C)rst.first();D)rst.nextRow();48.下面能够正确获取结果集的有(AD)(多项选择)A)Statementsta=con.createStatement();ResultSetrst=sta.executeQuery(select*frombook);B)Statementsta=con.createStatement(select*frombook);ResultSetrst=sta.executeQuery();C)PreparedStatementpst=con.preparedStatement();ResultSetrst
26、=pst.executeQuery(select*frombook);D)PreparedStatementpst=con.preparedStatement(select*frombook);ResultSetrst=pst.executeQuery();49.下面负责建立与数据库连接的是(D)A)StatementB)PreparedStatementC)ResultSetD)DriverManager50.使用JDBC连接数据库的顺序是(B,A,D,C,E)(多项选择)A)加载驱动B)导入驱动包C)发送并处理SQL语句D)建立于数据库的连接E关闭连接二、简答题(各5分,共25分)1、在j
27、ava中假如声明一个类为final,表示什么意思?(不计分)答:final是最终的意思,final可用于定义变量、方法和类但含义不同,声明为final的类不能被继承。1、父类的构造方法能否能够被子类覆盖(重写)?答:父类的构造方法不能够被子类覆盖,由于父类和子类的类名是不可能一样的。2、请讲述String和StringBuffer的区别。答:String类所定义的对象是用于存放长度固定的字符串。StringBuffer类所定义的对象是用于存放长度可变动的字符串。3、假如有两个类A、B(注意不是接口),你想同时使用这两个类的功能,那么你会怎样编写这个C类呢?答:由于类A、B不是接口,所以是不能够
28、直接继承的,但能够将A、B类定义成父子类,那么C类就能实现A、B类的功能了。假设A为B的父类,B为C的父类,此时C就能实现A、B的功能。4、结合Java视频Lesson5(多线程),分析sleep()和wait()方法的区别。答:Sleeping睡眠的意思:sleep()方法用来暂时中止执行的线程。在睡眠后,线程将进入就绪状态。waiting等待的意思:假如调用了wait()方法,线程将处于等待状态。用于在两个或多个线程并发运行时。5、谈谈你对抽象类和接口的理解。答:定义抽象类的目的是提供可由其子类分享的一般形式、子类能够根据本身需要扩展抽象类、抽象类不能实例化、抽象方法没有函数体、抽象方法必须在子类中给出详细实现。他使用extends来继承。接口:一个接口允许一个类从几个接口继承而来,Java程序一次只能继承一个类但能够实现几个接口,接口不能有任何详细的方法,接口可以用来定义可由类使用的一组常量。其实现方式是interface来实现。【2017年最新Java经典笔试面试题】