(主要是复习课堂上的内容!date:2019.06.06
先来个楔子:为什么要对磁盘进行分区?
-
对咱们来说分成C、D、E各种盘之后能方便查找
-
对计算机来说可以提高运行效率,比如要找一个东西时,在指定了柜子的某一小格后再找肯定比直接在这个柜子漫无目的地找快得多。
-
还有就是便于为不同的用户分配不同的权限,比如某用户在某内存空间的权限是只读。
等等……还有很多好处!是个厉害的发明!
好了切入正题来说说包
其实包就是文件夹,为了避免程序员写类时造成重名,就把他们写的类打成不同的包,不同包中的类名可以相同!
建立包
格式:
package 包[.子包]:
class{}
例:
package dx;
class TestPackage
{
public static void main (String[] args)
{
System.out.println("package test");
}
}
注:
- package语句必须是java源程序的第一条语句
- 每个源文件只能声明一个包
- 包对应着文件系统的目录层次结构
- 在package语句中,用点运算符’.'来指明包等级
- 如果不加package语句,java默认包的路径是当前文件夹,没有包名
编译并生成包
格式:javac -d 目录名 源文件
例 在当前目录下生成包 javac -d . TestPackage.java
会看到当前目录下生成了dx文件夹,里面是字节码文件
例 在指定目录下生成包
javac -d d:\aaa TestPackage.java
会看到d盘生成了aaa文件夹,里面是dx
还有一个疑问就是:老师上课演示时 javac TestPackage.java 这样写是会报错的,但实际上没有(只是和没写package dx;这条语句是一样的效果) 而且也可以执行 不知道是不是版本的问题呀?
执行:
假如要执行aaa那个文件夹下的TestPackage就需要设置环境变量了!
set classpath=d:\aaa(注意这个路径是顶层包盘符的父目录,这里的顶层包是dx
(我已经把aaa中的字节码文件重新编译,输出变为package test1)
(当没设置classpath时,在当前目录查找字节码文件,设置了就到对应的classpath中查找)
set classpath=.(;……)
import导入包语句
文件一:TestPac.java
package Lntu.dx.software;
public class TestPac
{
public void print()
{
System.out.println("test");
}
}
文件二:TestPackage.java
package Lntu.dx;
import Lntu.dx.software.TestPac;
public class TestPackage
{
public static void main(String[] args)
{
System.out.print("nosa 最可爱!!");
}
}
执行过程以及结果:
好了差不多就这些了!!以后有需要再补充好了!!!