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文件才能执行。






  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值