一 、包的概念和作用
- 概念:
- 包就是文件夹(Java中的包是指的是用代码体现出来的包,一个类在代码中指定它属于某个包,如果没有给Java中的类指明包名的话,那么这个类就属于默认包)
- 作用:
- 对文件进行管理(对Java类进行分类管理)
- 避免同一个文件夹出现相同的类名
- 包的划分:
-
- 按照功能进行划分
- 按照模块进行划分
二、单级包和多级包
单级包:单个文件夹
多级包:多层的文件夹
三、给类指定包名
通过package给类指定包名。
- 格式:
package 包名;(多级包,单级包都可以)(一个 Java源文件中只能有一个package语句)
package必须出现在Java源文件中的有效第一行的位置
四、带包的编译和运行
手动归包:
- 当一个类在带代码中指定了所属包,那么这个Java类在编译之后就要放在这个文件夹下
- 当一个类有了包名,那么这个类就不叫原来的名称了,变成了 包名.类名
自动归包:
编译的时候没有就把类自定放到包下(如果包没有就自动创建)
格式:Javac -d .源文件名称.java
五、相同包和不同包下类的调用
- 相同包下:
- 使用类在Java源文件的名称,不带包名可以直接用
- 使用包名.类名的格式调用
package dome; public class Dome10 { public static void main(String []args){ domee d=new domee(); System.out.println("不带包名的调用"); dome.domee dd=new domee(); System.out.println("带包名的调用"); } } class domee{ }
- 不同包下:
- 使用包名.类名的格式调用
- 使用导包语句,格式 import 包名.类名,一般写在package下面,类上面
- import 包名.*表示把包中的类都导出来了(建议用什么类导什么类)
package dome1;
import dome.Dome10;
public class Dome11 {
public static void main(String []args) {
dome.Dome10 d = new dome.Dome10();
System.out.println("不同包下类的调用,不导包");
Dome10 dd = new Dome10();
System.out.println("不同包下类的调用,导包");
}
}
class Dome12{}
顺序
-
-
-
- package
- import
- class
- 顺序不能颠倒
- 一个源文件中package只能出现0--1次
- import可以出现0到多次
- class可以出现1到多次,最多只有一个人类被 public修饰,被public修饰的类的名称要与Java源文 件名称相同
-
-