Java中import包帶*(星號)問題
阿新 • • 發佈:2019-02-02
今天發現Java中import包時,帶*(星號)的一個問題。下面附上程式碼和截圖:
在我的電腦"E:\csdn\"目標下有兩個java檔案: Print.java和Demo.java
Print.java程式碼如下:
package util;
public class Print{
public static void print(Object obj){
System.out.print(obj);
}
}
Demo.java程式碼如下:
import util.Print; public class Demo{ public static void main(String[] args){ Print.print("HelloWorld!"); } }
1、在cmd中用javac將上面兩個java類編譯成class檔案,如下:
2、執行javac命令後,"E:\csdn\"目錄和"E:\csdn\util"目錄如下:
3、然後對Demo.java類執行java命令
我相信到這一步,大家都覺得沒有問題,那麼接下來問題來了。
4、我們把Demo.java類中的import util.Print改為import util.*,如下:
import util.*; public class Demo{ public static void main(String[] args){ Print.print("HelloWorld!"); } }
5、然後重新編譯Demo.java類,按道理來講應該不會有問題,可是編譯後發現有問題,如下:
6、然後我發現如果把Print.java檔案刪了,然後再編譯Demo.java類就不會報錯,而且能成功執行
最後,不知道有哪位大神知道原因?為什麼import包中加*,要刪除java檔案才能執行。