Java中import包带*(星号)问题

来源:互联网 发布:dns 协议端口号为53 编辑:程序博客网 时间:2024/06/06 02:05

今天发现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文件才能执行。






0 0
原创粉丝点击