包主要是用来管理java类、字节码文件和各种资源,相当于IOS下文件系统,本节主要简单理解java的包逻辑就够了。
这里要用到dos的一些命令,特意从网上搜了些要用到的^^.
dos常用命令:
命令 | 格式 | 含义 |
DIR | dir [盘符:] [路径][文件名] [参数] | 显示指定路径上所有文件或目录的信息 |
CD | CD [路径] | 进入指定目录 |
MD | MD [盘符][路径] | 建立目录 |
RD | RD [盘符][路径] | 删除目录 |
COPY | COPY [源目录或文件] [目的目录或文件] | 拷贝文件 |
DEL | DEL [盘符][路径][文件名] [参数] | 删除文件 |
EDIT | EDIT [盘符][文件名] | 简单的编辑软件,可以用它来编辑一些程序和批处理文件 |
DELTREE | DELTREE [盘符][路径] | 删除目录树 |
copy con | copy con [文件.格式] |
1、首先熟悉下dos的基本操作:
可在自己创建的myjava目录中实时查看目录、文件的生成与删除,其中copy con test.txt 是在当前目录生成test.txt文件,随后可输入内容,按CTRL+ Z+回车,结束创建。
接下来进入java包的练习:
总体思路就是将建立的java文件放在一个文件夹,编译生成的.class文件放在另一个文件夹
首先建立如下目录(可用dos)
myjava\com\java_res存放run1.java和run2.java文件
myjava\com\class_res存放生成的.class文件
myjava\com\else存放其他文件(这里我们存放说明文档test.txt)
进入else目录查看test.txt
好的,接下来就可以在editplus里写run1.java和run2.java,如下:
<span style="background-color: rgb(255, 204, 153);">package com.java_res;</span>
//同一包中的类run2就不用import了
//import java_res.*;
public class run1
{
public static void main(String[] args)
{
<span style="background-color: rgb(255, 204, 153);">run2 r = new run2();</span>
r.test();
System.out.println("Hello run1! after run2^-^");
}
}
<span style="background-color: rgb(255, 204, 153);">package com.java_res;</span>
public class run2
{
public void test( )
{
System.out.println("Hello run2! before run1 ^-^");
}
}
你会发现在class_res目录下生成了com\java_res\目录并且有run1.class和run2.class,这是因为“-d”是以指定目录为基准生成包路径和文件。
在程序中的package com.java_res;起着关键作用。“-classpath”是命令行开关,表示当前的class应该以此路径为基准去寻找指定的类。
jar打包方式如下: cvf(create 创建一个新文件,v 生成详细输出到标准输出上,f 指定存档文件-test.jar ) -C则是将所有包打包到目录下。个人觉得这种方式可以让我们更深入理解包的路径逻辑,不会也没关系,简要了解下就行了^^...
最后依旧美图奉上: