1. 程式人生 > >Java中import包帶*(星號)問題

Java中import包帶*(星號)問題

今天發現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檔案才能執行。