关于Java语言当中的包机制:
1、Java中引入package这种语法是为了方便程序的管理
不同功能的类被分门别类放到不同的软件包当中,查找比较方便,管理比较方便,易维护。
2、怎么定义package呢?
- 在Java源程序的第一行上编写package语句。
- package只能编写一个语句。
- 语法结构:
package 包名;
3、包名的命名规范:
公司域名倒序.项目名.模块名.功能名;
主要采用这种方式重名的几率较低,因为公司域名具有全球唯一性
4、包名要求全部小写,包名也是标识符,必须遵守标志符的命名规范
5、一个包将来对应一个目录。
6、使用package机制之后,怎样编译?怎样运行?
- 使用package机制之后,类名不在是package,类名是:com.sxetcedu.javase.pac;
- Javac 编译生成class字节码文件
- 手动创建文件夹,即先在java源文件所在目录下创建com文件夹,com文件夹下创建sxetcedu文件夹
在sxetcedu文件夹下创建javase文件夹,在javase文件夹下创建pac文件夹。
然后将class字节码文件放到pac文件夹下
- 在java源文件所在目录下打开dos窗口,输入java com.sxetcedu.javase.pac.Text回车
注意:类名最好不要定义为package,不然无法编译通过。
7、另一种方式:(不需要手动创建文件夹)
*编译:
javac -d 编译之后存放路径 java源文件的路径
*例如:将E:\Hellow.java文件编译之后存放到C:\目录下
javac -d C:\ E:\Hello.java
*javac -d . *.java
将当前路径中的所有java源文件编译之后存放到当前目录下。
*运行:JVM的类加载classLoader默认从当前路径下加载。
保证dos窗口切换到Java源文件所在的路径,执行:
java com.sxetcedu.javase.pac.Test
回车
package com.sxetcedu.javase.pac;//四个目录【目录之间用.隔开】
public class Test{
public static void main(String[] args){
System.out.println("Hello World!");
}
}
package com.sxetcedu.javase.pac;
public class Test01{
public static void main(String[] args){
//完整写法,适用于不同包下的类
com.sxetcedu.javase.pac.Test t = new com.sxetcedu.javase.pac.Test();
System.out.println(t);//com.sxetcedu.javase.pac.Test@15db9742
//在同一个包下可省略为:
Test tt = new Test();
System.out.println(tt);//com.sxetcedu.javase.pac.Test@15db9742
}
}
/****import的使用**:**
不同包下怎样简化写法?
import来完成导入其他类,同一个下的类不需要导入。
import语法格式:
import 类名;
import.包名.*;
import语句需要写在包名之下,class语句之上。
//完整写法
java.lang.String s = "zbc";
//简写,java.lang.*;不需要手动引入
String s = "zbc";
总结:什么情况下需要import手动引入?
不是java.lang包下的,并且不是在同一个包下的时候:需要使用import手动导入