关于 package 和 import
关于 java 语言当中包机制:
1、包又称为 package,java 中引入 package 这种语法机制主要是为了方便程序的管理。
不同功能的类被分门别类放到不同的软件包当中,查找比较方便,管理比较方便,易维护。
2、怎么定义 package 呢?
- 在 java 源程序的第一行上编写 package 语句。
- package 只能编写一个语句。
- 语法结构:
package 包名;
3、包名的命名规范:
公司域名倒序 + 项目名 + 模块名 + 功能名;
采用这种方式重名的几率较低。因为公司域名具体全球唯一性。
例如:
com.bjpowernode.oa.user.service;
org.apache.tomcat.core;
4、包名要求全部小写,包名也是标识符,必须遵守标识符的命名规则。
5、一个包将来对应的是一个目录。
6、使用了package机制之后,应该怎么编译?怎么运行呢?
- 使用了 package 机制之后,类名不再是 Test01 了,类名是:com.bjpowernode.javase.day11.Test01
- 编译:javac java源文件路径(在硬盘上生成一个class文件:Test01.class)
- 手动方式创建目录,将 Test01.class 字节码文件放到指定的目录下
- 运行:java com.bjpowernode.javase.day11.Test01
- 另一种方式(编译 + 运行):
* 编译:
javac -d 编译之后存放路径 java源文件的路径
* 例如:将 F:\Hello.java文件编译之后放到 C:\ 目录下
java -d C:\ F:\Hello.java
* javac -d . *.java
表示将当前路径中 *.java编译之后存放到当前目录下。
* 运行:JVM 的类加载器 ClassLoader 默认从当前路径下加载。
保证 DOS 命令窗口的路径先切换到 com 所在的路径,执行:
java com.bjpowernode.javase.day11.Test01
package com.bjpowernode.javase.day11; // 4个目录【目录之间使用 . 隔开】
public class Test01{
public static void main(String[] args){
System.out.println("Test01’s main method execute ! ");
}
}
import 语句用来完成导入其它类,同一个包下的类不需要导入,不在同一个包下需要手动导入。
import 语法格式:
import 类名;
import 包名.*;
import 语句需要编写到 package 语句之下,class 语句之上。
java.lang.*; 不需要手动引入,系统自动引入。
lang:language 语言包,是 java 语言的核心类,不需要手动引入。
最终结论:
什么时候需要 import?
* 不是 java.lang 包下,并且不在同一个包下的时候,需要使用 import 进行引入。