package  org.jetic;
public class A{
       public A(){
          System.out.print("hello");
        }
}
package  org.jetic;public class B{A a;
String str="";
public B(){
       a=new A();
}
}先编译A
再编译B

解决方案 »

  1.   

    路径设置问题。例如:你的源码放在当前目录下,将编译好的.clas文件放在当前目录的classes子目录下,那么你编译时应这样写:
       javac -classpath ./classes;%classpath%  -d ./classes *.java
    如果在类路径不加上./classes就会出现你说的情况,因为编译B时要用到A,但A不在类路径中,所以就会报告说找不到类A。
      

  2.   

    package  org.jetic在同一个包中先编译A,再编译B;如果不行,你要在package  org.jetic;
    import org.jetic.A;     //引用A
    public class B{A a;
    String str="";
    public B(){
           a=new A();
    }
    }
      

  3.   

    楼上的说的对
    不编译就不是类
    也就不能用
    另外要注意.class的目录
    因为你用了package
      

  4.   

    应该不是编译顺序问题,而是路径设置问题
    我想问一下你当前包的路径在不在环境变量classpath里面有啊?
    没有就加个-classpath吧。
    同一包中的class调用,应该没有编译顺序问题,如果A没有编译,调用A的时候便会编译它……个人认为,是不是这样呢?
    至少我的package程序中是这样的
      

  5.   

    我的org包放在c:\classes中
    我的classpath=c:\classes
    这样设置路径有问题吗??
      

  6.   

    不用管你的classpath怎么设置的
    在命令中加-classpath参数就可以了java -classpath 你的目录 你的类名以上格式中共三个空格
      

  7.   

    我已经试过了,先编译A,再编译B。  注意不能以工程方式编译,因为你的程序没有入口。
    ctrlpower是对的。
    你的程序在package 语句后少了;