区分相同名字的类–防止命名冲突
比如老王的家的孩子叫小虎,老李家的孩子也叫小虎,这两个孩子是相同的嘛?不是,防止冲突,我们一般会说:老王家的小虎、老李家的小虎,加上前缀:这样以表示区别
eg:com.yaoyao.Test类和com.xxx.Test是不同的类,正是由于分包管理,加上包名以示区分,避免了命名冲突。
方便管理
当我们一个java程序中有很多类时,我们把这些类文件分门别类,把功能相关的类/接口,放在一个包中/目录下,方便查找,使用,管理。
(其实我们使用Java API文档的原理就是这个)
控制访问范围
用于包访问权限,才可进行访问。
package com.yaoyao:其实就是声明当前这个类在哪个目录下(路径下),说白了,就是一个人,不可能同时在两个地方!(就是用高级语言告诉计算机,它在哪,不然计算机都不知道!)。
import java.util.Scanner;:告诉计算机,接下来用到的Scanner类,是java.util包里面的。在编译的时候,会给下面的类的名称根据import来补全!(在编译的时候还是让类带上了全名,但是这就是计算机来做的了,我们程序员只要一句import就行,帮我们省力~)