《程序员考试-Java真题-附答案解析.docx》由会员分享,可在线阅读,更多相关《程序员考试-Java真题-附答案解析.docx(5页珍藏版)》请在第壹文秘上搜索。
1、程序员考试试题库-真题-附答案解析一、选择邈1. (2018年)下列选项中,关于java的抽象类和抽象方法说法不正璃的是()?A.抽象类和抽象方法都通过abstract关键字来修饰Babstract可以用来修饰类和方法.但不能用来修饰构造方法C.抽象类中可以没有,有一个或多个抽象方法但不可以全部方法都是抽象方法D.子类必须承写父类所有的抽象方法才能实例化,否则子类还是一个抽象类2. (2017年下列关于接口的说法,不正确的是。?A,接口中全部方法都是抽象方法.所有方法都必须是PUbIiC访问权限8.接口可以有构造方法C.一个接口可以继承多个接口.但接口不般继承类D,接口不能实例化3. (201
2、8年)对于java的多态,以下说法不正确的为0。A.多态不仅可以减少代码量,还可以提高代图的可扩展性和可组护性8.把子类转换为父类,称为向下转型,自动进行类型转换C.多态是指同一个实现接口,使用不同的实例而执行不同的操作D,继承是多态的基批,没有继承就没有多态4. (2018年)关于java中的absuac1.,以下说法正确的为(。(多选)A.abstract类中可以没有abstract方法Babstract类的子类也可以是abstract类C.abstract方法可以有方法体D.abstract类可以创建对象5. (2018年)关于java中的脩态方法,下列说法中不正确的是()(多选A.静态
3、方法中不能直接调用非静态方法8非除态方法中不能直接调用静态方法C.静态方法可以用类名直接调用D.静态方法里可以使用ths6. (2017年)关于java语言中多态的说法错误的是0。A.多态是面向对象三大特征之一8,通过多态可以提高代码的可犷展性和可维护性C.把子类转换为父类,称为向下转型D使用父类作为方法的形参是使用多态的常用方式7. (2018年)下列关于Java中集合接口的说法不正确的是()。A.co1.1.ection接口存储一组不唯一、无序的对象8set接口继承8IeCt1.on接口.存储一组唯一、无序的对象C.1.ist接口继承CoI1.eCtiOn接口,存储一组不唯一、有序的对象D
4、MaP接口存储一组成对的铤值对象.其中key要求有序.不允许重复.VakJe不要求有序,但允许更复8. (2017年)在AB类的方法method的声明中,可使用ABmethOd()三接调用方法的正确声明是0。A.pub1.icstaticvoidmethod。B.pub1.icfina1.voidmethod()C.pub1.icabstractvoidmethod。D.pub1.icvoidmethod。9. (2018年)在JaVa中.为使类不能派生出子类,可使用关键字()A.private8abstractC.interfaceD.fina1.10. (2019年)下面那些是Thread
5、类的方法()?A.start()Brn()C.exit()D.getPriorty()U.(2020年)下列说法正确的是()A.C1.ass中的nstrctor不可省略8Constructor必须与c1.ass同名.但方法不能与c1.ass同名C.Constructor在一个对象Enew时执行D.一个c1.ass只能定义一个constructor12. (2020年)下面哪个流类属于面向字符的输入流()A.BufferedWriter8.FiIe1.nputStreamC.ObiectInputStreamD.InputStreamReader13. (2019年Java接口的修饰符可以为()
6、(多选)A.privateB.protectedC.fina1.D.abstract14. (2019年)下面()接口是负责保存和处理查询结果的。A.ConnectionBStatementC.ResuItSetD.PreparedStatement二、筒答懑15. (2019年)Stnng和SEngB3fer有什么区别716. (2019年)接口和抽象类的区别是什么?17. (2020年)什么是cookie?SeSSIOn和Cook1.e有什么区别?18. (2017年)类examp1.eA继承EXCePtion,类EXamPIeB继承EXamP1.eAa有如下代码片断:1 try(2 hr
7、。WneEamp1.eB(,b,)3 catch(Examp1.eAe)4 System.out.print1.n(Examp1.eA);5 catch(Eceptione)System.out.print1.n(,Exception);71诺问执行此段代码的榆出是什么719. (2020年)CoHeaion和Co1.tections的区别?20. (2020年)线程的S1.eeP()方法和yekj()方法有什么区别?程序员考试试题库-真题答案1. B2. C3. C4. AB5. AC6. D7. A8. A9. D10. ABD解析:当看JavaAPIdocs:httpdocs.oracj
8、3vase7doc5api1exit。是System类的方法,如SyStefn.exit(0).11. C解析:这里可能会有误区,其实普通的类方法是可以和类名同名的,和构造方法唯一的区分就是,构造方法没有返回值。12. D解析JaVa的IO操作中有面向字节(Byte)和面向字符(Charaeter)两种方式。面向字节的掾作为以8位为单位对二进制的数抠进行操作,对数据不进行转换,这些类都是InputStream和OUtPUtStream的子类面向字符的操作为以字符为单位对数据遂行操作.在读的时候将二进制数据转为字符.在写的时候将字符转为二进制数据,这些类都是Reader和Writer的子类。总结
9、:以InputStream(输入)/OutputStream(输出)为后缀的是字节流;以Reader(输入)/Writer(输出)为后缀的是字符流。扩展JaVa流类图结构.一目了然.解决大部分选择题oia夕,mK*OUpSMr*Wr*rA*S*V*tS2vXv*3*rwMIOtctMpiTrrV)MS*f*mytAttaOu*tSbn13. CD解析:接口的方法默认是pub1.icabstract;接口中不可以定义变员即只能定义常量(加上fina1.修饰就会变成常量)。所以接口的属性默认是PUbhCStatiCfma1.常量,且必须赋初值。注怠:fina1.和abstract不能同时出现“14
10、. C15. 简单地说.就是一个变量和常的关系.SMngBUffer对象的内容可以修改.而String对象一旦产生后就不可以被修改,重新赋值其实是两个对象。StnngBUffer的内部实现方式和Stnng不同,StnngBUffer在进行字符处理是,不生成新的对象.在内存使用上要优于Stnng类,所以在实际使用时,如果经常需要对一个字符串迸行修改.例如插入.删除等操作.使用StnngBuffer要更加适合一些。16. Java提供和支持创建抽象类和接口,他们的实现有共同点,不同点在于:接口中所有的方法隐含的都是抽象的,而抽象类则可以同时包含抽象和非抽象的方法。类可以实现很多个接口,但是只能继承
11、一个抽象类类可以不实现抽象类和接口声明的所有方法.当然,在这种情况下.类也必须将声明成是抽象的。抽象类可以在不提供接口方法实现的情况下实现接。JaVa接口中声明的变量默认都是fina1.的.抽象类可以包含费fina1.的变量。JaVa接口中的成员函数默认是PUb1.iC的.抽象类的成员函数可以使PriVate.protected或者是pub1.ic.接口是绝对抽象的,不可以被实例化,抽象类也不可以被实例化,但是,如果它包含main方法的话是可以被调用的.17. cookie是浏更器(useragent)访问一些网站后,这些网站存放在客户籍的一组数据.用于使网站等跟踪用户.实现用户自定义功能。通
12、俗的说就是当一个用户通过H11P协议访问一个服务器的时候,这个服务器会将一些key-va1.ue键伯对返回给客户端浏览器.并给这些数据加入一些限制条件.在条件符合是这个用户下次访问这个服务器的时候.数据又被完整地带回给服务器。Cookie和session的区别:1,存取方式的不同。cookie中只能保管ASCI1.字符出,加入需求存取UniCode字符或者二进制数据,需求先进行编码.cookie中也不能直接存取java对象.若要存储略微复杂的信息.运用okie是比较艰难的;而session中能够存取任何类型的数据.包括但不限于StringsInteger、1.ist、MaP等.Session中
13、也能够保管JavaBean乃至任何JaVa类.对象等.运用起来十分方便,能够把SeSSion看做是一个JaVa容招类。2,隐私策珞的不同。8oke存储在客户端阅读器中,对客户端是可见的.客户端的一些程序可能会蜜探、复制以至修正Cookie中的内容,而SeSSion存储在服务器上.对客户端是透明的,不存在依感信息泄露的风险。假如选用Cooke比较好的方法是,敏感的信息如账号密码等尽量不要写到Cookie中.最好是像Goog1.e、Baidu那样将Ckie信息加密,提交到服务器后再进行解密.保证Cookie中的信息只要本人能读得懂。而假如选择SeSMon就省事多了.反正是放在服务器上,SeSSgn
14、里任何隐私都能够有效的保护。3.有效期上的不同;使用过GoOgIe的人都晓得,假如登录过Googie,则GOOg1.e的登录信息长期有效。用户不用每次访问都重新登录.Goog1.e会持久地记载该用户的登录信息。要到达这种效果.运用Cookie会是比较好的选择。只需要设置COokie的过期时间属性为一个很大很大的数字。由于Session侬赖于名为JsESSIoNID的Cookte1.而8okeJSES50NID的过期时间默许为-1.只需关闭了阅读器该SeSSion就会失效.因而SeSSiOn不能完成信息永世有效的效果,运用UR1.地址重写也不能完成,而且假如设置SeSSJon的超时时间过长.服务
15、器累计的SeSSion就会越多,越容易招致内存溢出。18. 给出:ExampIeAo(根据里氏代换原则【能使用父类型的地方一定粕使用子类型】,抓取ExampteA类型异常的CatCh块能够抓住try块抛出的EXamP1.eB类型的异常)19. Co1.1.ection是一个接口.它是Set、USt等容器的父接口;COiIeaionS是一个工具类,提供了一系列的静态方法来辅助容器操作.这些方法包括对容髓的搜索、排序、线程安全化等等,20. 1.s1.eep()方法给其他线程运行机会时不考虑线程的优先级,因此会给低优先级的线程以运行的机会yie1.d()方法只会给相同或更高优先级的线程以运行的机会;2.线程执行SIeeP()方法后转入阻塞(b1.ocked)状态而执行yie1.d()方法后转入就绪(ready)状态;3.s1.eep()方法声明抛出IntefnJPtedEXCePttom而yie1.d()方法没有声明任何异常;4s1.eep()方