資源描述:
《java代碼查錯(cuò) 》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、JAVA代碼查錯(cuò)1.abstractclassName{privateStringname;publicabstractbooleanisStupidName(Stringname){}}大俠們,這有何錯(cuò)誤答案錯(cuò)。abstractmethod必須以分號(hào)結(jié)尾,且不帶花括號(hào)。2.publicclassSomething{voiddoSomething(){privateStrings=;intl=s.length();}}有錯(cuò)嗎答案錯(cuò)。局部變量前不能放置任何訪問修飾符(private,public,和protected)。final可以用來修飾局部變量(final如
2、同abstract和strictfp,都是非訪問修飾符,strictfp只能修飾class和method而非variable)。3.abstractclassSomething{privateabstractStringdoSomething();}這好像沒什么錯(cuò)吧答案錯(cuò)。abstract的methods不能以private修飾。abstract的methods就是讓子類implement(實(shí)現(xiàn))具體細(xì)節(jié)的,怎么可以用private把a(bǔ)bstractmethod封鎖起來呢(同理,abstractmethod前不能加final)。4.publicclassSome
3、thing{publicintaddOne(finalintx){return++x;}}這個(gè)比較明顯。答案錯(cuò)。intx被修飾成final,意味著x不能在addOnemethod中被修改。5.publicclassSomething{publicstaticvoidmain(String[]args){Othero=new JAVA代碼查錯(cuò)1.abstractclassName{privateStringname;publicabstractbooleanisStupidName(Stringname){}}大俠們,這有何錯(cuò)誤答案錯(cuò)。abstractmethod
4、必須以分號(hào)結(jié)尾,且不帶花括號(hào)。2.publicclassSomething{voiddoSomething(){privateStrings=;intl=s.length();}}有錯(cuò)嗎答案錯(cuò)。局部變量前不能放置任何訪問修飾符(private,public,和protected)。final可以用來修飾局部變量(final如同abstract和strictfp,都是非訪問修飾符,strictfp只能修飾class和method而非variable)。3.abstractclassSomething{privateabstractStringdoSomething
5、();}這好像沒什么錯(cuò)吧答案錯(cuò)。abstract的methods不能以private修飾。abstract的methods就是讓子類implement(實(shí)現(xiàn))具體細(xì)節(jié)的,怎么可以用private把a(bǔ)bstractmethod封鎖起來呢(同理,abstractmethod前不能加final)。4.publicclassSomething{publicintaddOne(finalintx){return++x;}}這個(gè)比較明顯。答案錯(cuò)。intx被修飾成final,意味著x不能在addOnemethod中被修改。5.publicclassSomething{publ
6、icstaticvoidmain(String[]args){Othero=newOther();newSomething().addOne(o);}publicvoidaddOne(finalOthero){o.i++;}}classOther{publicinti;}和上面的很相似,都是關(guān)于final的問題,這有錯(cuò)嗎答案正確。在addOnemethod中,參數(shù)o被修飾成final。如果在addOnemethod里我們修改了o的reference(比如o=newOther();),那么如同上例這題也是錯(cuò)的。但這里修改的是o的membervairable(成員變
7、量),而o的reference并沒有改變。6.classSomething{inti;publicvoiddoSomething(){System.out.println(i=+i);}}有什么錯(cuò)呢看不出來啊。答案正確。輸出的是i=0。inti屬於instantvariable(實(shí)例變量,或叫成員變量)。instantvariable有defaultvalue。int的defaultvalue是0。7.classSomething{finalinti;publicvoiddoSomething(){System.out.println(i=+i);}}和上面一題
8、只有一個(gè)地方不同,就是多