Java程序员面试宝典-Java代码查错 精品资料

Java程序员面试宝典-Java代码查错 精品资料

ID:22683997

大小:96.50 KB

页数:39页

发布时间:2023-10-19 00:51:02

Java程序员面试宝典-Java代码查错  精品资料_第1页
Java程序员面试宝典-Java代码查错  精品资料_第2页
Java程序员面试宝典-Java代码查错  精品资料_第3页
Java程序员面试宝典-Java代码查错  精品资料_第4页
Java程序员面试宝典-Java代码查错  精品资料_第5页
Java程序员面试宝典-Java代码查错  精品资料_第6页
Java程序员面试宝典-Java代码查错  精品资料_第7页
Java程序员面试宝典-Java代码查错  精品资料_第8页
Java程序员面试宝典-Java代码查错  精品资料_第9页
Java程序员面试宝典-Java代码查错  精品资料_第10页
资源描述:

JAVA代码查错1.abstractclassName{privateStringname;publicabstractbooleanisStupidName(Stringname){}}大侠们,这有何错误?答案:错。abstractmethod必须以分号结尾,且不带花括号。2.publicclassSomething{voiddoSomething(){privateStrings="";intl=s.length();}}有错吗?答案:错。局部变量前不能放置任何访问修饰符(private,public,和protected)。final可以用来修饰局部变量(final|如同abstract和strictfp,都是非访问修饰符,strictfp只能修饰class和method而非variable)。3.abstractclassSomething{privateabstractStringdoSomething();}这好像没什么错吧?

1答案:错。abstract的methods不能以private修饰。abstract的methods就是让子类implement(实现)具体细节的,怎么可以用private把abstractmethod封锁起来呢?(同理,abstractmethod前不能加final)。4.publicclassSom|ething{publicintaddOne(finalintx){return++x;}}这个比较明显。答案:错。intx被修饰成final,意味着x不能在addOnemethod中被修改。5.publicclassSomething{publicstaticvoidmain(String[]args){Othero=newOther();newSomething().addOne(o);}publicvoidaddOne(finalOthero){o.i++;}}

2classOther{publicinti;}和上面的很相似,都是关于final的问题,这有错吗?答案|:正确。在addOnemethod中,参数o被修饰成final。如果在addOnemethod里我们修改了o的reference,(比如:o=newOther();),那么如同上例这题也是错的。但这里修改的是o的membervairable(成员变量),而o的reference并没有改变。6.classSomething{inti;publicvoiddoSomething(){System.out.println("i="+i);}}有什么错呢?看不出来啊。答案:正确。输出的是"i=0"。inti属於instantvariable(实例变量,或叫成员变量)。instan|tvariable有defaultvalue。int的defaultvalue是0。7.classSomething{finalinti;publicvoiddoSomething(){System.out.println("i="+i);

3}}和上面一题只有一个地方不同,就是多了一个final。这难道就错了吗?答案:错。finalinti是个final的instantvariable(实例变量,或叫成员变量)。final的instantvariable没有defaultvalue,必须在constructor(构造器)结束之前被赋予一个明确的值。可以修改为"final|inti=0;"。8.publicclassSomething{publicstaticvoidmain(String[]args){Somethings=newSomething();System.out.println("s.doSomething()returns"+doSomething());}publicStringdoSomething(){return"Dosomething...";}}看上去很完美。答案:错。看上去在main里calldoSomething没有什么问题,毕竟两个methods都在同一个class里。但仔细看,main是static的。s|taticmethod不能直接callnon-staticmethods。可改成"System.out.println("s.doSomething()returns"+

4s.doSomething());"。同理,staticmethod不能访问non-staticinstantvariable。9.此处,Something类的文件名叫OtherThing.javaclassSomething{privatestaticvoidmain(String[]something_to_do){System.out.println("Dosomething...");}}这个|好像很明显。答案:正确。从来没有人说过Java的Class名字必须和其文件名相同。但publicclass的名字必须和文件名相同。10.interfaceA{intx=0;}classB{intx=1;}classCextendsBimplementsA{publicvoidpX(){System.out.println(x);}

5publicstaticvoidmain(String[]args){newC().pX();}}答案:错误。在编译时会发生错误(错误描述不同的JVM有不同的信息,意思就是未明确的x调用,两个x都匹配(就象在同时importjava.util|和java.sql两个包时直接声明Date一样)。对于父类的变量,可以用super.x来明确,而接口的属性默认隐含为publicstaticfinal.所以可以通过A.x来明确。11.interfacePlayable{voidplay();}interfaceBounceable{voidplay();}interfaceRollableextendsPlayable,B

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1、本文档共39页,下载后即可获取全部内容。
2、此文档《Java程序员面试宝典-Java代码查错 精品资料》由用户(158****5147)提供并上传付费之前 请先通过免费阅读内容等途径辨别内容,本站所有文档下载所得的收益全部归上传人(卖家)所有:如有侵权或不适当内容,请进行举报或申诉。
3、所有的PPT和DOC文档都被视为“模板”允许上传人保留音节日灵结构的情况下删减部份的内容,下裁前须认直查看,确认无误后再购买。
4、欧宝真人·(中国)科技有限公司网仅提供信息存储空间,仅对用户上传内容的表现方式做保护外理,无法对各卖家所售文档的直实性,完整性,准确性以及专业性等问题提供审核和保证,请谨慎购买。
5、本站文档的总页数,文档格式和文档大小以系统显示为准(内容中显示页数不一定正确),网站客服只以系统显示页数,文件格式,文档大小作为仲裁依据。

文档提供

发布者:158****5147

上传时间:2023-10-16 17:18:22

认证主体:齐**(个人认证)

IP归属:湖北省 武汉

相关标签

文档提供

发布者:158****5147

上传时间:2023-10-16 17:18:22

认证主体:齐**(个人认证)

IP归属:湖北省 武汉

相关标签