- 相關推薦
能不能自己寫個java自帶的類
可以,但在應用的時候,需要用自己的類加載器去加載,否則,系統的類加載器永遠只是去加載jre.jar包中的那個java.lang.String。
由于在tomcat的web應用程序中,都是由webapp自己的類加載器先自己加載WEB-INF/classess目錄中的類,然后才委托上級的類加載器加載,如果我們在tomcat的web應用程序中寫一個java.lang.String,這時候Servlet程序加載的就是我們自己寫的java.lang.String,但是這么干就會出很多潛在的問題,原來所有用了java.lang.String類的都將出現問題。 雖然java提供了endorsed技術,可以覆蓋jdk中的某些類,具體做法是….。但是,能夠被覆蓋的類是有限制范圍,反正不包括java.lang這樣的包中的類。 (下面的例如主要是便于大家學習理解只用,不要作為答案的一部分,否則,人家懷疑是題目泄露了)
例如,運行下面的程序:package java.lang;public class String {/*** @param args*/public static void main(String[] args) {// TODO Auto-generated method stubSystem.out.println("string");}}報告的錯誤如下:www.diannao114.cnjava.lang.NoSuchMethodError: mainException in thread "main"這是因為加載了jre自帶的java.lang.String,而該類中沒有main方法。
【能不能自己寫個java自帶的類】相關文章:
java語言類的嵌入08-01
java類加載器09-12
Java類的基本構成08-28
什么是java集合類05-29
java類筆試題目07-21
java類文件是什么10-31
java繼承抽象類07-28
Java的內部類與類的加載器06-24
理解java和python類變量10-06
Java常用數據結構及類06-17