java包学习笔记
作者:网络转载 发布时间:[ 2013/10/30 10:25:52 ] 推荐标签:
//:Cookie.java
// Creates a library
package c05.dessert; //当前目录下建立一个名为c05里面有子目录dessert的包
public class Cookie{
public Cookie(){
System.out.println("Cookie cinstructor");
}
void foo(){
System.out.println("foo");
}
}
上面Cookie.java可以用以下方式
一、手动建立包层
在保存Cookie.java的文件夹下建立c05文件夹在c05里面建立dessert文件夹
在dos 下输入 javac Cookie.java现在当前文件夹里有个Cookie.class文件移到dessert 文件夹下
二、在 dos 下输入 javac -d . Cookie.java自动在当前文件夹下生成 c05-dessert-Cookie.java
现在进行下一步
//:Dinner.java
// Uses the library
import c05.dessert.*;
public class Dinner{
public Dinner(){
System.out.println("Dinner constructor");
}
public static void main(String[] args){
Cookie x = new Cookie();
//x.f();
}
}
在编译Dinner.java文件时,必须把 Cookie.java文件到其他文件夹不然会报错

因为CLASSPATH里包含“.”指的是当前目录,当编译Dinner.java文件时会在当前目录找Cookie.class
但是Cookie.class在c05.dessert文件夹下,所以找不到Cookie.class但找到Cookie.java
会报错,此时删掉或移走Cookie.java不会报错了
//:PackagedClass.java
package c05;
class PackagedClass{
public PackagedClass(){
System.out.println("Creating a packaged class");
}
}

sales@spasvo.com