当前位置:首页 > 生态圈 > 正文内容

java程序员面试宝典百度云(java程序员面试宝典第四版)

abcsky883个月前 (02-08)生态圈62

今天给各位分享

271. 列举常见的运行时异常答:ClassCastException(类转换异常) 比如 :Object obj=new Object(); String s=(String)obj;

java程序员面试宝典百度云(java程序员面试宝典第四版)

IndexOutOfBoundsException(下标越界异常)NullPointerException(空指针异常)ArrayStoreException(数据存储异常,操作数组时类型不一致)BufferOverflowException(IO操作时出现的缓冲区上溢异常)

InputMismatchException(输入类型不匹配异常)ArithmeticException(算术异常)注意:运推广网站怎么推广行时异常都是RuntimeException子类异常272. 下面关于 Java.lang.Exception类的说法正确的是()。

A. 继承自 ThrowableB. 不支持SerializableC. 继承自 AbstractSetD. 继承自FitelnputStream答案:A分析:Throwable是Exception和Error的父类,Exception虽然没有实现Serializable接口,但是其父类Throwable已经实现了该接口,因此Exception也支持Serializable。

273. Unsupported major.minor version 52是什么异常,推广网站怎么推广怎么造成的,如何解决?答:问题的根本原因是工程中某个jar包的版本(jar包编译时的所用的jdk版本)高于工程build path中jdk的版本,这个是不兼容的! 编程中遇到此异常Unsupported major.minor version 52.0(根据版本号,这里可以为其他数值,52是1.8jdk jar包与 1.8以下低版本jdk不匹配),在将build path中jdk的版本调整与jar包匹配后,解决异常。

274. try{}里有一个return语句,那么紧跟在这个try后的finally{}里的code会不会被执行,什么时候被执行,在return前还是后?答:会执行,在方法返回调用推广网站怎么推广者前执行Java允许在finally中改变返回值的做法是不好的,因为如果存在finally代码块,try中的return语句不会立马返回调用者,而是记录下返回值待finally代码块执行完毕之后再向调用者返回其值,然后如果在finally中修改了返回值,这会对程序造成很大的困扰,C#中就从语法上规定不能做这样的事。

(也许你的答案是在return之前,但往更细地说,我的答案是在return中间执行,请看下面程序代码的运行结果:publicclassTest{/** * @paramargs add by zxx ,Dec 9, 2008

*/publicstaticvoidmain推广网站怎么推广(String[]args){// TODO Auto-generated method stub System.out.println(newTest

().test());;}staticinttest(){intx=1;try{returnx;}finally{++x;}}}执行结果运行结果是1,为什么呢?主函数调用子函数并得到结果的过程,好比主函数准备一个空罐子,当子函数要返回结果时,先把结果放在罐子里,然后再将程序逻辑返回到主函数。

所谓返回,就是子函数说,我不运行了,你主函数继续运行吧,这没什么结果可言,结果是在说这话之前放进罐子里的275. Java 语言如何进行异常推广网站怎么推广处理,关键字:throws、throw、try、catch、finally分别如何使用?

答:Java 通过面向对象的方法进行异常处理,把各种不同的异常进行分类,并提供了良好的接口在Java 中,每个异常都是一个对象,它是Throwable 类或其子类的实例当一个方法出现异常后便抛出一个异常对象,该对象中包含有异常信息,调用这个对象的方法可以捕获到这个异常并进行处理。

Java 的异常处理是通过5 个关键词来实现的:try、catch、throw、throws和finally一般情况下是用try来执行一段程序,如果出现异常,系统会抛出(throw)一个异常,这时候你可以通过它的类型来捕捉(catc推广网站怎么推广h)它,或最后(finally)由缺省处理器来处理;try用来指定一块预防所有“异常”的程序;catch 子句紧跟在try块后面,用来指定你想要捕捉的“异常”的类型;throw 语句用来明确地抛出一个“异常”;throws用来标明一个成员函数可能抛出的各种“异常”;finally 为确保一段代码不管发生什么“异常”都被执行一段代码;可以在一个成员函数调用的外面写一个try语句,在这个成员函数内部写另一个try语句保护其他代码。

每当遇到一个try 语句,“异常”的框架就放到栈上面,直到所有的try语句都完成如果下一级的try语句没有对某种“异常”进行处理,栈就会展开,直到遇到有处理这种“异常”的推广网站怎么推广try 语句 276. 运行时异常与受检异常有何异同?

答:异常表示程序运行过程中可能出现的非正常状态,运行时异常表示虚拟机的通常操作中可能遇到的异常,是一种常见运行错误,只要程序设计得没有问题通常就不会发生受检异常跟程序运行的上下文环境有关,即使程序设计无误,仍然可能因使用的问题而引发。

Java编译器要求方法必须声明抛出可能发生的受检异常,但是并不要求必须声明抛出未被捕获的运行时异常异常和继承一样,是面向对象程序设计中经常被滥用的东西,神作《Effective Java》中对异常的使用给出了以下指导原则:。

不要将异常处理用于正常的控制流(设计良好的API不应该强迫它的调用者为了正常的控制流而使推广网站怎么推广用异常)对可以恢复的情况使用受检异常,对编程错误使用运行时异常避免不必要的使用受检异常(可以通过一些状态检测手段来避免异常发生)

优先使用标准的异常每个方法抛出的异常都要有文档保持异常的原子性不要在catch中忽略掉捕获到的异常 (异常表示程序运行过程中可能出现的非正常状态,运行时异常表示虚拟机的通常操作中可能遇到的异常,是一种常见运行错误。

java编译器要求方法必须声明抛出可能发生的非运行时异常,但是并不要求必须声明抛出未被捕获的运行时异常)277. 类ExampleA 继承Exception,类ExampleB 继承ExampleA有如下代码片断:

try{thrownewExampleB("推广网站怎么推广b")}catch(ExampleAe){System.out.println("ExampleA");}catch(Exceptione){System.out

.println("Exception");}请问执行此段代码的输出是什么?答:输出:ExampleA(根据里氏代换原则[能使用父类型的地方一定能使用子类型],抓取ExampleA类型异常的catch块能够抓住try块中抛出的ExampleB类型的异常)。

补充: 比此题略复杂的一道面试题如下所示(此题的出处是《Java编程思想》),说出你的答案吧!packagecom.bjsxt;classAnnoyanceextendsExcept推广网站怎么推广ion{}class

SneezeextendsAnnoyance{}classHuman{publicstaticvoidmain(String[]args)throwsException{try{try{thrownew

Sneeze();}catch(Annoyancea){System.out.println("Caught Annoyance");throwa;}}catch(Sneezes){System.out

.println("Caught Sneeze");return;}finally{System.out.println("Hello World!");}}}输出为:Caug推广网站怎么推广ht AnnoyanceCaught Sneeze

Hello World!278. Error和Exception的区别

Error类,表示仅靠程序本身无法恢复的严重错误,比如说内存溢出、动态链接异常、虚拟机错误应用程序不应该抛出这种类型的对象假如出现这种错误,除了尽力使程序安全退出外,在其他方面是无能为力的所以在进行程序设计时,应该更关注Exception类。

Exception类,由Java应用程序抛出和处理的非严重错误,比如所需文件没有找到、零作除数,数组下标越界等它的各种不同子类分别对应不同类型异常可分为两类:Checked异常和Runtime异常279. Java异常处理try-catc推广网站怎么推广h-finally的执行过程

try-catch-finally程序块的执行流程以及执行结果比较复杂基本执行过程如下:1)程序首先执行可能发生异常的try语句块2)如果try语句没有出现异常则执行完后跳至finally语句块执行;3)如果try语句出现异常,则中断执行并根据发生的异常类型跳至相应的catch语句块执行处理。

4)catch语句块可以有多个,分别捕获不同类型的异常5)catch语句块执行完后程序会继续执行finally语句块finally语句是可选的,如果有的话,则不管是否发生异常,finally语句都会被执行。

需要注意的是即使try和catch块中存在return语句,finall推广网站怎么推广y语句也会执行,是在执行完finally语句后再通过return退出280. 异常处理中throws和throw的区别1)作用不同:

throw用于程序员自行产生并抛出异常;throws用于声明在该方法内抛出了异常2) 使用的位置不同:throw位于方法体内部,可以作为单独语句使用;throws必须跟在方法参数列表的后面,不能单独使用。

3)内容不同:throw抛出一个异常对象,且只能是一个;throws后面跟异常类,而且可以有多个。

扫描二维码推送至手机访问。

版权声明:本文由海南拓宏网络科技工作室发布,如需转载请注明出处。

本文链接:http://4blc.com/post/15821.html

分享给朋友:

“java程序员面试宝典百度云(java程序员面试宝典第四版)” 的相关文章

计算机科学与技术类专业包含哪些专业类别(计算机科学与技术类专业包括哪些专业)

本篇文章给大家谈谈 计算机类专业包括下面17个专业:计算机科学与技术、软件工程、网络工程、信息安全、物联网工程、数字媒体技术、智能科学与技术、空间信息与数字技术、电子与计算机工程、数据科学与大数据技术、网络空间安全 、新媒体技术、电影制作、保密技术、服务科学与技术、虚拟现...

java衰落(java被淘汰了)

本文分享给大家的是: 【CSDN 编者按】随着大数据人工智能的潮流,Python 已经被炒作的天翻地覆,其学习用户数量逐渐上升,许多人暗自担心 Java 技术是否会在未来几年就沉寂了?对此你怎么看呢?作者 | Jackson Roberts 译者 | 弯月出品 |...

品牌媒介传播(媒介产品运营)

本篇文章给大家谈谈 整理:徐礼昭-01-「用户及流量运营类名词 」1、Private traffic 「私域流量」私域流量是指从公域(internet)、它域(平台、媒体渠道、合作伙伴等)引流到自己私域(官网、客户名单),以及私域本身产生的流量(访客)。 私域流量是企业可以...

专业培训美甲的机构(美甲师技术培训)

本文分享给大家的是: 原标题:培训学习java技术哪些方法比较靠谱java开发技术在不断的迭代更新,企业对java开发程序员的技术要求也在逐渐的提高,因此在开发技术不断发展的时代,小伙伴需要学习更为系统的java开发技术知识。 对于零基础小伙伴学习java开发技术来说,并非...

大连java培训机构有哪些(大连java招聘信息)

本文分享给大家的是: 如今,中国已经进入互联网高速发展期,各大公司在招聘时都会需要编程人员,而Java作为程序语言中较为便捷和高效的代表,已经成为许多企业招人时的首选于是,很多人为了程序员的高薪资想要通过培训转行,那么大连正规Java培训收费多少呢?今天“好程序员”就来带大家分析一...

上海java软件(上海的java工作怎么样)

今天给各位分享 ​  不少人在转行IT时都会首选Java语言,对于零基础的人来说,参加培训班当然是最快速有效的方式但上海Java培训多少钱是决定他们选择哪个培训班的因素之一,下面,千锋上海Java培训小编给大家分享从以下几个方面入手选择一家最划算靠谱的上海Java培训班。...