Java_包(EditPlus)

定义包可以使用 package 关键字完成

package cn.test.lxh;
public class TestDemo
{
     public static void main(String args[])
     {
          System.out.println("hello");
     }
}

其中,在命令框中输入
“ -d”:表示生成目录,根据包的定义生成;
“ .”:表示在当前所在的路径下生成;
从任何的实际开发来讲,所有的类一定要放在一个包之中,没有包的类是绝对不会存在的。

利用包可以实现程序的分割,但是一定会存在包之间互相访问的情况,而这就称为包的导入操作, 如果要想实现包的导入使用 import 关键字完成。

package cn.test.info ; // 包
public class Hello { // public class 定义
public void sayHello(){
System.out.println("Hello World ") ;
}
}

定义另外一个包中的类,并且导入以上的类
如果要想导入包,使用 import 时要写上类的完整路径:包 .类名称

cn.test.info.Hello
package cn.test.lxh ; // 表示定义包
// 包的导入操作
import cn.test.info.Hello ;
// 其中的.表示分割子目录
public class TestDemo {
public static void main(String args[]) {
Hello hel = new Hello() ;
hel.sayHello() ;
}
}

TestDemo 要使用Hello.java,所以一定要先编译Hello.java ,再编译TestDemo.java
这样的编译方法实在是不可能使用,因为在一个项目之中, *.java 文件,所以为了方便编译,在 Java
之中可以使用通配符“ ”表示:javac -d . .java

在进行包中类定义的时候,如果一个类希望被外部的包所访问,那么一定要将其定义为 public class

import cn.test.info.Hello ;
导入了完整的名称,如果说现在 cn.test.info 类之中有100 个类,其中你项目的当前代码里面
需要使用这个包中的 80 个类,那么你这么写会怎么样呢?
所以为了方便开发,在 java 之中也提供了包的自动导入功能,使用通配符“*”完成

package cn.test.lxh ; // 表示定义包
// 包的导入操作
import cn.test.info.* ;
// 其中的.表示分割子目录
public class TestDemo {
public static void main(String args[]) {
Hello hel = new Hello() ;
hel.sayHello() ;
}
}

在实际的开发之中经常会出现导入不同包的同名类
现在在 cn.test.info 下有一个Hello 的类;
在com.yootk.msg 下也有一个Hello 的类

package com.yootk.msg ; // 包
public class Hello { // public class 定义
public void sayHello(){
System.out.println(" 世界,你很好") ;
}
}

在TestDemo 类之中由于某些需要,要导入两个包
编译时会出现冲突的问题,那么面对这样的情况只有一种方式可以解决,就是在使用的时候明确的
给出类的完整名称

package cn.test.lxh ; // 表示定义包
// 包的导入操作
import cn.test.info.* ;
import com.yootk.msg.* ;
// 其中的.表示分割子目录
public class TestDemo {
public static void main(String args[]) {
cn.test.info.Hello hel = new cn.test.info.Hello() ;
hel.sayHello() ;
}
}

如果要想生成 jar 文件可以直接采用 JDK 之中的jar 命令完成。本次重点使用三个参数:
· -c:创建新文件;
· -f:指定文件名称;
· -v:把详细的归档过程进行输出。
命令行窗口键入jar
事例建一个包:

package cn.test.info ;
public class Hello {
public void sayHello() {
System.out.println("Hello World .") ;
}
}

现在要将以上的程序类保存在 JAR 文件之中,按照如下步骤操作:
· 首先将 Hello.java 程序进行编译: javac -d . Hello.java
· 将生成的 *.class 文件(带有包)利用 jar 命令打成jar 文件:jar -cvf my.jar cn
现在已经生成了 .jar 文件,但是还不能够直接使用,所有的 .jar 文件实际上都是一个个独立的目录,并且删除cn包。
如果想建立另一个包package cn.test.msg,在其中导入jar中的文件cn.test.info.*那就必须配置环境变量。
必须要配置 classpath,classpath 之中有一个必须配置的就是当前目录查找“ .”
新建包:

package cn.test.msg ;
import cn.test.info.* ;
public class TestDemo {
public static void main(String args[]) {
new Hello().sayHello() ;
}
}

所以输入如下命令: SET CLASSPATH=.;d:\myproject\my.jar

你可能感兴趣的:(Java,java)