8. package与import
我们在当前代码中除了一些JAVA的常规写法以外,还发现了如下代码:
package❶ club.yunzhi.springcourse;
import❷ org.springframework.boot.SpringApplication;
import❷ org.springframework.boot.autoconfigure.SpringBootApplication;
import❷ org.springframework.web.bind.annotation.RequestMapping;
import❷ org.springframework.web.bind.annotation.RestController;
@SpringBootApplication
@RestController
public class SpringCourseApplication {
在文件的头部以❶package
打头,然后就各种❷import
。其中package
表示当前文件位于哪个包
中,而import
的作用则是由哪个包
中去引用哪个文件。
我们在大学课程中不去声明任何包
JAVA 程序也是工作的,那么为什么在此我们要使用package
来声明JAVA 的类属于哪个包
的呢?
我也叫李刚
李刚是个好名字,以至于我的小学同学有李刚,我的高中同学有李刚,我的大学同学里还有李刚。但李刚还是那个李刚,李刚依然不是那个李刚。大家刚有手机那会,自己常常的拨号时犯嘀咕:这个李刚是哪个李刚?后来自己聪明的给他们命名为小学李刚、高中李刚、大学李刚,哈哈问题竟然迎刃而解。
没错,这就是为什么要有pakeage
和import
。
把上面的问题为代码表示为:
// 唐山市乐亭县康刘小学
package tangshan.laoting.kangliuxiaoxue;
// 李刚
class LiGang {}
// 唐山市乐亭县闫各庄高中
package tangshan.laoting.yangezhuanggaozhong;
// 李刚
class LiGang {}
// 天津市河北工业大学
package tianjin.hebut;
// 李刚
class LiGang {}
// 要给高中同学打电话,导入高中的李刚
import tangshan.laoting.yangezhuanggaozhong.LiGang;
package club.yunzhi;
class Test {
public void callLiGang() {
// 使用是前面import过来的高中李刚
LIGang liGang = new LiGang();
this.call(liGang);
}
}
没错,正如你想的一样:package
说明类住在哪;当我们需要某个类来帮忙时,使用import
将由类所住的位置将其引入。