一、包
1、包的作用:
(1)给类提供多层命名空间 -- 解决同名文件冲突
(2)对类文件进行分类管理 -- 管理java文件
(3)包也是一种封装形式
2、定义包名用package,写在java程序的第一行,包名间使用 "." 隔开。包名所有字母都小写,一般指定为域名的反向,用于源代码文件的管理,避免重名(包的机制在java中用package来表示,在文件系统中用文件夹来体现)
3、类名的全称是:包名.类名
4、包出现之后可以将源文件和字节码文件分离
5、包与包之间的类进行访问,被访问的包中的类必须是public的,被访问包中类的方法也必须是public的(默认权限或protected权限都访问不到) -- 权限在包与包之间才有用,同一个包中只有在覆盖的时候才用到权限
6、包与包之间能用的权限只有2个:public、protected(只能给不同包中的子类使用)
7、系统中的包(java.功能.类):
(1)java.lang.类:java语言基础的类
(2)java.util.类:java语言中各种工具类
(3)java.io.类:输入、输出相关功能的类
8、import:导入指定包中的类(导入的是包中的类,不是包中的包)
9、导包的原则:用到哪个类就导入哪个类,最好不用*( * :通配符,代表导入指定包中所有的类)
10、一个 .java 文件中只能有一个package,但是可以有多个import。import写在package之后,类定义之前
11、同一个包中,一个类想要使用本包中的另一个类,那么该包名可以省略
12、import的作用:是为了简化书写,不写import写类全名(包名.类名)也可以
13、jar包可以直接使用。可以将工具类等打成jar包,要使用时,无需解压缩,直接将classpath设置为jar所在的目录(./xxx/.../xxx.jar),jar包中的东西全都可以用
14、类目录的绝对路径叫做class path,设置在系统变量classpath中。编译器和java虚拟机通过将package的名字加到class path后,来构造.class文件的路径
二、设置系统变量classpath
1、显示当前classpath的变量内容
(1)Windows平台(DOS命令行下):C:\> set CLASSPATH
(2)UNIX平台(Bourne shell 下):#echo $CLASSPATH
2、删除当前classpath的变量内容
(1)Windows平台(DOS命令行下):C:\> set CLASSPATH =
(2)UNIX平台(Bourne shell 下):#unset CLASSPATH; export CLASSPATH
3、设置classpath变量
(1)Windows平台(DOS命令行下):C:\> set CLASSPATH = C:\users\jack\java\classes
(2)UNIX平台(Bourne shell 下):#CLASSPATH = /home/jack/java/classes; export CLASSPATH