欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Java关于jar包的知识详解

程序员文章站 2024-02-25 16:25:21
在学习jar包之前,要先弄懂java包,以及关于java包的相关概念。 一、包 为了更好地组织类,java提供了包机制。包是类的容器,用于分隔类名空间。如果没有指定包名...

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

一、包

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

格式为:

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

代码实例:

package cn.com.zhouzhou;//包名一定要由小写字母组成
 public class lession1 {
 public static void main(string[] args) {
  system.out.println("这是我创建的第一个在包下的文件");
 }
 }

注意事项:

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

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

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

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

(图:演示)

Java关于jar包的知识详解

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

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

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

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

 * 示例演示:

Java关于jar包的知识详解

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包的文件

package cn.com.zhouzhou;//包名一定要由小写字母组成
public class lession2 {
 public static void main(string[] args) {
 system.out.println("这是我要打jar包的文件");
 }
}

2.编译

e:\>javac -d . lession2.java

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

Java关于jar包的知识详解

3.打jar包

jar -cvf myjarbao.jar cn

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

Java关于jar包的知识详解

生成结果如下:

Java关于jar包的知识详解

以上所述是小编给大家介绍的java关于jar包的知识详解整合,希望对大家有所帮助