包
1.包是什么
包 (package) 是组织类的一种方式
在同一个工程中允许存在相同名称的类,只要处在不同的包中即可。
2.自定义包
基本规则
- 在文件的最上方加上一个 package 语句指定该代码在哪个包中
- 包名需要尽量指定成唯一的名字, 通常会用公司的域名的颠倒形式(例如 com.niu.www)
- 包名要和代码路径相匹配. 例如创建 com.bit.demo1 的包, 那么会存在一个对应的路径 com/niu/www来存储代码
- 如果一个类没有 package 语句, 则该类被放到一个默认包中.
操作步骤
-
在 IDEA 中先新建一个包: 右键 src -> 新建 -> 包
-
在弹出的对话框中输入包名,包名一般是网址的倒叙 例如 com.niu.www,下面的嵌套包虽然嵌套但相对来说还是独立的,想要获取对方包里的内容还是需要导入包
-
在包中创建类, 右键包名 -> 新建 -> 类, 然后输入类名即可
-
此时可以看到我们的磁盘上的目录结构已经被 IDEA 自动创建出来了
-
同时我们也看到了, 在新创建的 Test.java 文件的最上方, 就出现了一个 package 语句用来标记包的路径
3.如何导入包中的类
方法一:Java 中已经提供了很多现成的类供我们使用. 例如Arrays类:可以使用 java.util.Arrays 导入 java.util 这个包中的Arrays类,然后调用类中的方法
方法二:上面的方法一十分麻烦,每次都需要写调用那个包,其实我们可以使用import语句导入包
,有时候我们不知道导入的包具体路径是什么怎么写,我们只需要记住类名,比如下面的Arrays只需要输入Arrays然后回车,会自动帮我们导入对应的包和包中的类
方法三:其实导入包的还有一种特殊的写法我们不必确定具体的类名,只需要写入包的路径加上.*
就可以导入包中所有的类
但是我们更建议显式的指定要导入的类名. 否则还是容易出现冲突的情况
在这种情况下需要使用完整的类名
可以使用import static导入包中静态的方法和字段。
需要注意,这种情况必须表明Arrays.toString因为toString在库中太多了,静态导入也链接不上toString
注意事项: import 和 C++ 的 #include 差别很大. C++ 必须 #include 来引入其他文件内容, 但是 Java 不需要.import 只是为了写代码的时候更方便. import 更类似于 C++ 的 namespace 和 using
4.包访问权限等权限
可以查看JavaSE:类和对象中有对修饰词访问权限的详细介绍
5. 常见的包
- java.lang:系统常用基础类(String、Object),此包从JDK1.1后自动导入。
- java.lang.reflect:java 反射编程包;
- java.net:进行网络编程开发包。
- java.sql:进行数据库开发的支持包。
- java.util:是java提供的工具程序包。(集合类等) 非常重要
- java.io:I/O编程开发包。