/*
关于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源文件略径(在硬盘上生成一个c1ass文件:Test01.c1ass)
- 手动方式创建目录,将Test01.c1ass字节码文件放到指定的目录下
- 运行:java com.bjpowernode.javase.day1l.Test0l
*/
package com.bjpowernode.javase.day11; //4个目录【目录之间使用.隔开】
public class Test01
{
public static void mian(String[] args){
System.out.println("Test01's main method execute!");
}
}
package com.bjpowernode.javase.day11
public class Test02
{
public static void main(String[] args){
//完整类名是:com.bjpowernode.javase.day11.Test01
com.bjpowernode.javase.day11.Test01 t = new com.bjpowernode.javase.day11.Test01();
System.out.peintln(t);
//可以省略包名,因为Test01和Test02在同一个软件包当中。
Test01 tt = new Test01();
System.out.peintln(tt);
//结论:只有在同一个包下的时候不需要加包名。
}
}
package org.apache;
/*
import语句用来完成导入其它类,同一个包下的类不需要导入,
不在同一个包下需要手动导入。
import语法格式:
import 类名;
import 包名.*;
import语句需要编写到package语句之下,class语句之上。
myeclipse导入类的快捷键:ctrl + shift + o
*/
//import com.bjpowernode.javase.day11.Test01
import com.bjpowernode.javase.day11.* // * 所有
public class Test04
{
public static void main(String[] args){
com.bjpowernode.javase.day11.Test01 tt = new com.bjpowernode.javase.day11.Test01();
System.out.peintln(tt);
//以上程序就是麻烦
//下面有import,好用
Test01 x = new Test01();
System.out.peintln(x);
}
}
/*
最终结论
什么时候需要import?
* 不是java.lang包下,并且不在同一个包下的时候,需要使用import进行引入。
*/