当前页面: 开发资料首页 → 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编译一定要指定。