无法从另一个包中调用类。包不存在错误

时间:2012-02-21 15:48:55

标签: java package

我的课程路径

  

E:\类\样品

我从c:\ Program Files \ Java \ jdk1.4 \ bin

运行

E:\ classes \ sample \ Test1 \ sample1.java

的源代码
package sample.Test1;

class Sample1
{
    public void printThis()
    {
        System.out.println("WE are in sample1");
    }
}

E:\ classes \ sample \ db \ sample2.java

的源代码
package sample.Test2;
import sample.Test1.Sample1;

class Sample2
{
    public static void main(String args[])
    {
        System.out.println("Main Class \n");
        Sample1 s = new Sample1();
        s.printThis();
    }
}

当我编译Sample2.java时,它显示错误。 Sample1.java已经编译好了。请帮帮我..

1 个答案:

答案 0 :(得分:2)

它无法编译的原因是你的第一个类(不是public)具有默认可见性,因此它只能被同一个包中的类“看到”。你的第二堂课是在一个不同的包中,所以它不能使用它。

要解决此问题,请将关键字public添加到您的课程中:

public class Sample1 {

编辑:

还有问题吗?我只想使用像Eclipse这样的IDE。它会告诉您问题所在并帮助您解决问题。