1 / 15
文档名称:

十一编程java面试题.doc

格式:doc   大小:79KB   页数:15页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

十一编程java面试题.doc

上传人:zxwziyou8 2019/6/22 文件大小:79 KB

下载得到文件列表

十一编程java面试题.doc

相关文档

文档介绍

文档介绍:十一、编程基础知识(一)、JAVA代码查错1、abstractclassName{privateStringname;publicabstractbooleanisStupidName(Stringname){}}大侠们,这有何错误?答案:错。abstractmethod必须以分号结尾,且不带花括号。2、lassSomething{voiddoSomething(){privateStrings="";intl=();}}有错吗?答案:错。局部变量前不能放置任何访问修饰符(private,public,和protected)。final可以用来修饰局部变量(final如同abstract和strictfp,都是非访问修饰符,strictfp只能修饰class和method而非variable)。3、abstractclassSomething{privateabstractStringdoSomething();}这好像没什么错吧?答案:错。abstract的methods不能以private修饰。abstract的methods就是让子类implement(实现)具体细节的,怎么可以用private把abstractmethod封锁起来呢?(同理,abstractmethod前不能加final)。4、lassSomething{publicintaddOne(finalintx){return++x;}}这个比较明显。答案:错。intx被修饰成final,意味着x不能在addOnemethod中被修改。5、lassSomething{publicstaticvoidmain(String[]args){Othero=newOther();newSomething().addOne(o);}publicvoidaddOne(finalOthero){++;}}classOther{publicinti;}和上面的很相似,都是关于final的问题,这有错吗?答案:正确。在addOnemethod中,参数o被修饰成final。如果在addOnemethod里我们修改了o的reference(比如:o=newOther();),那么如同上例这题也是错的。但这里修改的是o的membervairable(成员变量),而o的reference并没有改变。6、classSomething{inti;publicvoiddoSomething(){("i="+i);}}有什么错呢?看不出来啊。答案:正确。输出的是"i=0"。inti属於instantvariable(实例变量,或叫成员变量)。instantvariable有defaultvalue。int的defaultvalue是0。7、classSomething{finalinti;publicvoiddoSomething(){("i="+i);}}和上面一题只有一个地方不同,就是多了一个final。这难道就错了吗?答案:错。finalinti是个final的instantvariable(实例变量,或叫成员变量)。final的instantvariable没有defaultvalue,必须在constructor(构造器)结束之前被赋予一个明确的值。可以修改为"finalinti=0;"。8、lassSomething{publicstaticvoidmain(String[]args){Somethings=newSomething();("()returns"+doSomething());}publicStringdoSomething(){return"Dosomething...";}}看上去很完美。答案:错。看上去在main里calldoSomething没有什么问题,毕竟两个methods都在同一个class里。但仔细看,main是static的。staticmethod不能直接callnon-staticmethods。可改成"("()returns"+());"。同理,staticmethod不能访问non-staticinstantvariable。9、此处,{privatestaticvoidmain(String[]something_to_do){("Dosomething...");}}这个好