java package - yaokun123/php-wiki GitHub Wiki

JAVA面向对象-包

一、包的特点

  • 1、对类文件进行分类管理

  • 2、给类提供多层命名空间

  • 3、写在程序文件的第一行

  • 4、类名的全称是 包名.类名

  • 5、包也是一种封装形式

二、如何创建一个包

package mypack;//定义包使用关键字package
class PackageDemo{
    public static void main(String[] args){
        System.out.println("Hello Package");
    }
}

注意:编译之后需要执行 java package.PackageDemo

编译(自动创建文件夹): javac -d . PackageDemo.java

包在程序中是用package关键字表示,在文件中是以目录的形式表示的。

可以创建多级包(不建议写太多级包)

三、包与包之间的访问

包与包之间的类进行访问,被访问的包中的类必须是public的,被访问的包中的类的方法也必须是public的。

| | public | protected | default | private | | ------ | ------ | ------ | | 同一类中 | ok | ok | ok | ok | | 同一包中 | ok | ok | ok | no |
| 子类中 | ok | ok | ok | no |
| 不同包中 | ok | no | no | no |

import

import packa.DemoA;//导入packa包中的DemoA类
import packa.*;//导入packa包中的所有类不导入其中的包,注意真正开发的时候不建议使用*

假设packa包下面结构如下
packa/DemoA.class
packa/abc/DemoAbc.class//没有导入这个

四、jar包

jar:java的压缩包

package pack;

class JarDemo{
    public static void main(String[] args){
        System.out.println("Hello Jar!");
    }
}

jar -cf haha.jar pack