lotus

贵有恒何必三更眠五更起 最无益只怕一日曝十日寒

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

 

 

在学习jar包之前,要先弄懂Java包,以及关于Java包的相关概念。

一、包

为了更好地组织类,Java提供了包机制。包是类的容器,用于分隔类名空间。如果没有指定包名,所有的示例都属于一个默认的无名包。

格式为:

package pkg1[.pkg2[.pkg3…]];

代码实例:

复制代码
 1 /**
 2 *@version 2017-06-17
 3 *@author zhou
 4 */
 5 
 6 
 7 package cn.com.zhouzhou;//包名一定要由小写字母组成
 8 public class Lession1 {
 9     public static void main(String[] args) {
10         System.out.println("这是我创建的第一个在包下的文件");
11         }
12         }
复制代码

注意事项:

1.程序中如果有package语句,该语句一定是源文件中的第一条可执行语句;

2.package语句的前面只能有注释或空行;

3.一个文件中最多只能有一条package语句;

4.包的名字有层次关系,各层之间以点分隔(上例中的“cn.com.zhouzhou”);

(图:演示)

 5.包层次必须与Java开发系统的文件系统结构相同;

6.通常包名中全部用小写字母;

7.当使用包说明时,程序中无需再引用(import)同一个包或该包的任何元素;

8.import语句只用来将其他包中的类引入当前名字空间中。而当前包总是处于当前名字空间中。

 

* 示例演示:

1)编译的时候用:(我的文件是存在E盘了)

e:\>javac -d . Lession1.java   // 可以生成对应的文件夹结构

2)执行的时候,要执行全类名

java cn.com.zhouzhou.Lession1

注意事项说明:

1.同一个源文件中的类,都在同一个包中,同一个包中的内容互相访问,不用导包;

2.导包的时候 以下两句;

import cn.com.zhouzhou.beans.*;

import cn.com.zhouzhou.beans.UserInfo;

这两句,只在编译的时候有后者稍快一点,在运行的时候没有任何区别

3.如果要设置classpath ,要设置到最外层的文件夹所在的目录上,比如:

package cn.com.zhouzhou;

set classpath=cn的所在的文件夹名称

4.对于父包和子包,在使用上没有任何关系,只要不在一个包中,引用的时候就必须导包;

5.以后在开发中,如果出现一个类名找不到的情况,主要以下原因:

1)类名写错了

2)包名错了

3)classpath 设置错了

6.对于 java.lang 包下的类,使用的时候可以不导包。

二、jar包

java中的jar文件 ,装的是 .class 文件。它是一种压缩,和zip兼容,被称为jar包。JDK提供的许多类,也是以jar包的形式提供的。

在用的时候呢,你的文件里有很多个类,把这些类和他们的目录一起压缩到一个文件中给别人,会显得更专业,有条理。别人拿到这个jar包之后,只要让他的classpath 的设置中包含这个jar文件,java虚拟机,在装载类的时候,就会自动解压这个jar文件,并将其当成目录,然后在目录中查找我们所要的类及类的包名和所对应的目录的结构。

 

那么如何创建一个Jar包呢?下面我将演示一下具体步骤:

1.需要打成jar包的文件

复制代码
1 package cn.com.zhouzhou;//包名一定要由小写字母组成
2 public class Lession2{
3     public static void main(String[] args) {
4         System.out.println("这是我要打jar包的文件");
5         }
6         }
复制代码

2.编译

e:\>javac -d . Lession2.java

(d后面的点,点的两侧都要有空格)

3.打Jar包

jar -cvf myjarbao.jar cn

(生成名叫myjarbao.jar的文件;后面的cn不要忘记)

生成结果如下:

posted on 2019-04-22 15:59  白露~  阅读(3789)  评论(0编辑  收藏  举报