例如, 先创建一个类, 不在任何包中public class A {
...
}然后创建一个包,例如com.test, 在创建一个类, 例如
package com.test;
public class B {
     A a;
     ...
}现在的问题是怎么把A import 到B中去,
原来以为import A;就可以, 结果出现编译错误。

解决方案 »

  1.   

    那也需要先import啊, 否则连A这个符号都识别不了啊
      

  2.   

    直接添加classpath设置到那个类的父目录,然后不用导入直接使用
      

  3.   

    完全不需要导入的,直接可以装载
    E.G:
    ===========================================
    //test.java
    public class test{
      public void f(){
        System.out.println("xxx");
      }
    }
    //编译好之后放到D盘根目录下
    ==========================================
    //MyClassLoader.java
    import java.io.*;public class MyClassLoader extends ClassLoader{
      private String path,type;  public MyClassLoader(String path,String type){
        super();
        this.path = path;
        this.type = type;
      }  public Class findClass(String name) {
        byte[] data = loadClassData(name);
        return defineClass(name, data, 0, data.length);
      }  public byte[] loadClassData(String name) {
        FileInputStream fis = null;
        byte[] data = null;
        try {
          fis = new FileInputStream(new File(path+name+type));
          ByteArrayOutputStream baos = new ByteArrayOutputStream();
          int ch = 0;
          while ((ch = fis.read()) != -1) 
            baos.write(ch);
          data = baos.toByteArray();
        } catch (Exception e) {}
        return data;
      }
      public static void main(String args[]) throws Exception{
        MyClassLoader loader = new MyClassLoader("d:/",".class");
        Class objClass = loader.loadClass("test", true);
        Object obj = objClass.newInstance();
        System.out.println(objClass.getName());
        objClass.cast(obj);
        objClass.getMethods()[0].invoke(obj);
      }
    }
    //编译好之后不要跟test.class放同一个位置
    ================================================
    run:C:\java>javac MyClassloader.javaD:\>javac test.javaC:\java>java MyClassLoader
    test
    xxx
      

  4.   

    java以包名+类名来标识和定位类 Eclipse等编译器不推荐default package的原因就是
    这样会和本包中的同名类产生冲突 试想 本包中的类还用得着import吗?即使打成jar包也是无效的
      

  5.   

    搞定了, jdk1.3支持import A;
    jdk1.4以上就不支持了