三个程序分别如下:MainClass.java:package MyPackage;
public  class MainClass
{
int i=10;
public MainClass()
{
   System.out.println(i);
}
public static void main(String args[])
{
new MainClass();
}


}MainSubClass.java:package MyPackage;
public class MainSubClass extends MainClass
{
public static void main(String args[])
{  
}
}
SamePackage.java:import MainPackage.*;//就是这里,编译通不过,写成import MyPackage.MainSubClass;就通过了,大家帮忙分析一下这是什么原因呀?
public  class SamePackage
{
public static void main(String args[])
{
MainSubClass msc=new MainSubClass();
}
}错误信息:
\JAVA\SamePackage.java:6: 无法访问 MainSubClass
错误的类文件: E:\JAVA\MainSubClass.java
文件不包含类 MainSubClass
请删除该文件或确保该文件位于正确的类路径子目录中。
                MainSubClass msc=new MainSubClass();
                ^
1 错误谢谢!!

解决方案 »

  1.   

    MainSubClass里面包含Main函数,作为程序的入口函数,它只能有一个
      

  2.   

    只能有一个public static void main(String []args)
    期盼楼主尽快揭帖..........
      

  3.   

    我只是要找到MainSubClass类文件而已,同它有几个main()有什么关系呢?我写成:import MyPackage.MainSubClass;照样是有两个main()呀,那它怎么就编译通过了呢?
      

  4.   

    那两个main是重载
    public static void main(String[]args)
    public static void main()
    而调用是java虚拟机根据需要所调用
    public static void main(String[]args)是入口函数,所以java虚拟机会首先执行main(String[]args)
      

  5.   

    有两个public 类..........public  class MainClass,public class MainSubClass extends MainClass
      

  6.   

    呵呵,两个public类怎么了??两个public类import MainPackage.*;就通不过,import MyPackage.MainSubClass;这样写就通过了??
      

  7.   

    import  MainPackage.*有没有这个包啊.....,不是郁闷,是非常郁闷,这种错误...............................
      

  8.   

    是MainPackage包,刚才又是我输入错了,但是在我电脑上运行时,是按照MainPackage包的,
      

  9.   

    没有问题...
    import MyPackage.*;
    public  class SamePackage
    {
    public static void main(String args[])
    {
    MainSubClass msc=new MainSubClass();
    }
    }
    结果10;
      

  10.   

    是不是classpath有问题,在原来的classpath后面加上;.
    另外,在我的机器上没有问题.JCreator english,编译通过........没有问题...
    import MyPackage.*;
    public  class SamePackage
    {
    public static void main(String args[])
    {
    MainSubClass msc=new MainSubClass();
    }
    }
    结果10;
      

  11.   

    你在你的机器上运行的时候,你把这三个源文件放在同一个文件夹下了吗?你是不是把这三个文件同两个.class文件都放到了MyPackage下了?
      

  12.   

    为什么把三个文件同两个.class文件都放到了MyPackage下?????????,不明白,请指教???
      

  13.   

    好吧。我另开一帖。
    你是用什么编译的,我用的是JCreator 3.00 pro。
      

  14.   

    我也是,不过我敢说是classpath的问题...........