唯一能想到的问题就是你定义的classpath里面还存在别的类叫ImportApp
举例:
如果你有两个包
a.a这里面有类A
b.b这里面也有类A
当你import a.a.*;
    import b.b.*;
时,你用A a = new A();便会出错.可是如果你
import a.a.*;
import b.b.A;
A a = new A();便是正确的,这个A是b.b.A

解决方案 »

  1.   

    这里面就是有个编程习惯的问题,以后尽可能少用
    import mybag.* 等引入类或者包,尽量用
    import mybag.bag1;
    import mybag.bag2;
    .....
    如果不这样那么当包太大的话,程序启动会比较慢。
      

  2.   

    将import mybag.*;改成import mybag.ImportApp;试一下,应该可以了。
      

  3.   

    我做了一遍,你看一下是不是这样的问题。你的ImportApp.java文件是不是在存放在d:\javatmp这个目录下,然后进行编译?需要将ImportApp.java放到d:\javatmp\mybag目录下进行编译,要删除d:\javatmp\ImportApp.*,否则会引起命名冲突,从而调用的是d:\javatmp\ImportApp.class,而不是d:\javatmp\mybag\ImportApp.class。
    如果d:\javatmp\ImportApp.class坏了,就会调用失败先这么试试再说,我也不清楚到底是不是这样的问题。
      

  4.   

    搜索一下你在classpath中所定义的目录,
    看其它目录下还有没有ImportApp,
    有则删除。