- 相關(guān)推薦
能不能自己寫(xiě)個(gè)java自帶的類(lèi)
可以,但在應(yīng)用的時(shí)候,需要用自己的類(lèi)加載器去加載,否則,系統(tǒng)的類(lèi)加載器永遠(yuǎn)只是去加載jre.jar包中的那個(gè)java.lang.String。
由于在tomcat的web應(yīng)用程序中,都是由webapp自己的類(lèi)加載器先自己加載WEB-INF/classess目錄中的類(lèi),然后才委托上級(jí)的類(lèi)加載器加載,如果我們?cè)趖omcat的web應(yīng)用程序中寫(xiě)一個(gè)java.lang.String,這時(shí)候Servlet程序加載的就是我們自己寫(xiě)的java.lang.String,但是這么干就會(huì)出很多潛在的問(wèn)題,原來(lái)所有用了java.lang.String類(lèi)的都將出現(xiàn)問(wèn)題。 雖然java提供了endorsed技術(shù),可以覆蓋jdk中的某些類(lèi),具體做法是….。但是,能夠被覆蓋的類(lèi)是有限制范圍,反正不包括java.lang這樣的包中的類(lèi)。 (下面的例如主要是便于大家學(xué)習(xí)理解只用,不要作為答案的一部分,否則,人家懷疑是題目泄露了)
例如,運(yùn)行下面的程序:package java.lang;public class String {/*** @param args*/public static void main(String[] args) {// TODO Auto-generated method stubSystem.out.println("string");}}報(bào)告的錯(cuò)誤如下:www.diannao114.cnjava.lang.NoSuchMethodError: mainException in thread "main"這是因?yàn)榧虞d了jre自帶的java.lang.String,而該類(lèi)中沒(méi)有main方法。
【能不能自己寫(xiě)個(gè)java自帶的類(lèi)】相關(guān)文章:
Java的類(lèi)07-19
java類(lèi)的構(gòu)成08-02
Java的類(lèi)常識(shí)03-29
Java import以及Java類(lèi)的搜索路徑12-24
淺談Java類(lèi)與類(lèi)之間的關(guān)系02-02
Java類(lèi)的基本構(gòu)成05-01
java類(lèi)加載器05-23
Java類(lèi)的基本構(gòu)成04-02