站内搜索: 请输入搜索关键词

当前页面: 开发资料首页J2SE 专题关于包,求助~~~~

关于包,求助~~~~

摘要: 关于包,求助~~~~


先创建一个类,声明它属于包mypackage
package mypackage;
public class MyClass{
public void prt(){
System.out.println("MyClass called");
}
}

另一个类用import引入刚才的类。
import mypackage.*;
public class Add{
public static void main(String[] args){
MyClass m=new MyClass();
m.prt();
}
}

编译后MyClass.class在mypackage文件夹下。
当编译Add.java时出错,信息如下:
Add.java:4: cannot access MyClass
bad class file: ./MyClass.class
class file contains wrong class: mypackage.MyClass
Please remove or make sure it appears in the correct subdirectory of the classpa
th.
MyClass m=new MyClass();
^
1 error

把import那句改成
import mypackage;或import mypackage.MyClass;
编译运行通过,为什么?为什么就不能引入mypackage.*呢?
CLASSPATH=.;


import mypackage.*;
引入的是包中的原文件 不是.class文件


MyClass.java的编译:javac -d d:/mypackage MyClass.java
Add.java的编译:javac -classpath d:/ Add.java
源文件都在d盘根目录下。这样做,就没问题了。你的不能编译是因为在编译时候没有指定包,用javac编译一定要指定。


↑返回目录
前一篇: 请教用什么命令:能去掉UNIX下某个目录(及其子目录)下所有*.htm文件内容中的“abcd”字符串
后一篇: 问一个List与ArrayList的问题