一个编程小白的Java战役(16)

一个编程小白的Java战役

——太原理工大学机器人团队学习打卡day16

今天的内容是包。不是那些奢侈品,而是程序里的包语句(package)。

1、package

一个编程小白的Java战役(16)
用来指明当前的程序在哪个包里头,那么这个包以及包下面的包也就是子包的定义,实际上是为了解决名字空间和名字冲突的问题。一个类有类的名字,当类的个数多了的时候,就会容易冲突或重名。包就是为了解决这个问题而产生的。我们将类放到不同的包里,它们的全称就不重名了。

注意:包与类的继承没有关系,它俩的关系相当于文件与文件夹。

包的含义

  • 名字空间、存储路径
  • 可访问性(包可访问性)

2、package语句

一个Java程序中,只能写一个package语句。
一个编程小白的Java战役(16)
如果不写包(没有package语句),称为无名包(在Eclipse中也叫default package),这时,其位于CLASSPATH的根目录下。

事实上,Java的JDK已经提供了很多包,放到了不同的包里。

3、import语句

import语句(导入语句)我们之前已经学过(虽然简略的提了一下),它的作用主要是用来导入所需要的类。
一个编程小白的Java战役(16)
import语句有点像C语言的include,但是还是不大一样,一定意义上,import是为了方便书写的一种方法。我们也可以用它导入这个包(注意!是这个包!!不包括子包!!!)下面的所有类.

Java编译器会自动导入java.lang.*,因此对于数学类等,我们不用写import。

4、编译和运行包中的类

当我们使用package时,编译和运行会麻烦一点,我们要加一个-d来指明包的根目录。
一个编程小白的Java战役(16)
运行时,我们需要指明含有main的类名,必须是全称。

5、CLASSPATH

为了指明根目录,在编译时,我们需要选项classpath(可简写为-cp)。
一个编程小白的Java战役(16)
当然,如果在集成开发环境中,我们只需要把一些引用的类放到库里面就可以了,它会自动的去设置classpath。

6、今日小结

当我们会用package语句和import语句后,Java才算是真正的开始复杂起来。虽然我们学习的都是基础,但是我们也要认真细致的学习。好好复习一下吧,明天见。