java的c import_关于编译(javac),import,package的再理解
1.若我們在A.java中用到了類B,當我們僅僅用 javac A.java 編譯A時,編譯器也會去尋找B,若類B依然是源文件,也會自動編譯它。在使用javac和java命令時,有一個參數選項 -verbose ,可以顯示虛擬機每一步所做的事情。
2.類A已經編譯成功后,A中用到的B.class依然不能移走,若此時執行java A ,會報NoClassDefFoundError.
3.編譯時,如果程序里用到其它類,不需要該類的源碼也一樣能夠通過編譯。這很好理解,我們在編寫自己的類時,用到了系統類庫,這些類庫都是以 .class文件存在于jar包中,而我們能正確編譯我們自己的類。
4.當一個類的源碼中有 package 聲明時,無論是 .java源文件還是 .class文件都應該置于 package 聲明的路徑下。
5.javac和java 命令都可以使用 -cp(-classpath)參數命令,但是對于javac來說,-cp 有兩個指引作用,一個是指引ACL(AppClassLoader)去找類A中引用到的B.class,二是如果B.class不存在,則指引編譯器找到B.java 文件。而對于 java 命令只有上述的第一個作用。對于每個需要載入的類都要向ACL交代清楚其位置。所以會看到下面的代碼。 javac -cp d:\ A.java??和? java -cp d:\;. A? .
總結
以上是生活随笔為你收集整理的java的c import_关于编译(javac),import,package的再理解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java id pid_根据id,pid
- 下一篇: 网络不良信息举报中心(怎么举报网络违法行