文档介绍:{privateStringname;publicabstractbooleanisStupidName(Stringname){}}大侠们,这有何错误?答案:错。abstractmethod必须以分号结尾,且不带花括号。{voiddoSomething(){privateStrings="";intl=();}}有错吗?答案:错。局部变量前不能放置任何访问修饰符(private,public,和protected)。final可以用来修饰局部变量(final如同abstract和strictfp,都是非访问修饰符,strictfp只能修饰class和method而非variable)。{privateabstractStringdoSomething();}这好像没什么错吧?答案:错。abstract的methods不能以private修饰。abstract的methods就是让子类implement(实现)具体细节的,怎么可以用private把abstractmethod封锁起来呢?(同理,abstractmethod前不能加final)。{publicintaddOne(finalintx){return++x;}}这个比较明显。答案:错。intx被修饰成final,意味着x不能在addOnemethod中被修改。{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并没有改变。{inti;publicvoiddoSomething(){("i="+i);}}有什么错呢?看不出来啊。答案:正确。输出的是"i=0"。inti属於instantvariable(实例变量,或叫成员变量)。instantvariable有defaultvalue。int的defaultvalue是0。{finalinti;publicvoiddoSomething(){("i="+i);}}和上面一题只有一个地方不同,就是多了一个final。这难道就错了吗?答案:错。finalinti是个final的instantvariable(实例变量,或叫成员变量)。final的instantvariable没有defaultvalue,必须在constructor(构造器)结束之前被赋予一个明确的值。可以修改为"finalinti=0;"。{publicstaticvoidmain(String[]args){Somethings=newSomething();("()returns"+doSomething());}publicStringdoSomething(){return"Dosomething...";}}看上去很完美。答案:错。看上去在main里calldoSomething没有什么问题,毕竟两个methods都在同一个class里。但仔细看,main是static的。staticmethod不能直接callnon-staticmethods。可改成"("()returns"+());"。同理,staticmethod不能访问non-staticinstantvariable。,{privatestaticvoidmain(String[]something_to_do){("Dosomething...");}}这个好像很明显。答案:正确。从来