Java项目中关于导包路径的思考
导语:最近做到一个使用Maven工具构建的项目,一个模块继承了另一个模块下的一个类,导包后警告可以移除这个导包...也就是说这个模块的类使用另一个模块的类居然不用导包???
经过仔细地观察发现,子类所在package与父类所在的package一致,只是两个类所在的模块不一样,而子类所在的模块通过坐标依赖导入了父类所在的模块(相当于导入了一个jar包),我们在导入jar包的类时,import的是所需类所在的package。此时调用类与所需类的package一致,相当于两个类在同一package下,所以不用导包。
为了验证上述猜想,我找到一个自己封装jar包下的类来测试
1.如下,是该jar包下的目录结构,只有一个类,这个类就是测试用到的类,其package为top.roud.
2.新建一个测试类,类的包结构为top.roud,与所需类一致
3.导包并调用类,此时显示的导入的包路径与Test类的包路径一致,所以出现警告提醒删除这个导入
4.删除导入,完成如上验证
总结就是:两个类的package一致,但不在同一个项目下,但其中一个项目依赖引入了另一个项目,所以可认为此时两个类在同一项目同一包路径下