类文件管理
认知
问题
可能会有很多很多的类, 可能会有几百上千个, 都在放一起很乱
这些类还有可能重名
什么是
类的目录结构, 文件系统上会有对应的文件夹结构
效果
不同的类文件可以放到不同的包里
包Package
操作
创建包
修改包名
命名规则
跟变量命名规则一致
类重名问题
同一个包下 类名 不能重名
不同包下可以出现 重名的类
package
每个类上都要写 package
package 后面跟包路径
包路径声明 必须跟 实际包路径 一致
包路径
包名.包名.包名
操作
使用包路径创建包
修改包名
导入import
类路径
包路径.类名
只有类路径才能确定一个类
原始用法
使用任何类的时候,其实都应该写类路径
1 2 3 4 5 6 7 8 9 10 package xxx.xxx;public class Driver { public static void main(String[] args) { new xxx.xxx.Driver().run(); } public void run(){ xxx.xxx.Player player = new xxx.xxx.Player(); }}
省略写法
上面的写法,太啰嗦了,所以,如果使用同包内的类,不需要包路径引导
1 2 3 4 5 6 7 8 9 10 package xxx.xxx;public class Driver { public static void main(String[] args) { new Driver().run(); } public void run(){ Player player = new Player(); }}
导入不是本包内的类
如果不在本包内,可以导入,表明之后出现的简称的来源。
import 包路径.类名; import 包路径.*;
1 2 3 4 5 6 7 8 9 10 11 12 13 14 package xxx.xxx; import java.util.*; public class Driver { public static void main(String[] args) { new Driver().run(); } public void run(){ Player player = new Player(); LinkedList<String> list = new LinkedList<String>(); }}
自动导入
1 import java.lang.*
这个包下的类都是自动导入
System / String
不需要写 import
万一...
在一段代码里非要用到两个同名的类
则还是要打回原形
1 2 3 4 5 6 7 8 9 10 public class Driver { public static void main(String[] args) { new Driver().run(); } public void run(){ xxx.xxx.Player player1 = new xxx.xxx.Player(); yyy.yyy.Player player2 = new yyy.yyy.Player(); }}