如何调用Java包

时间:2011-03-06 15:45:22

标签: java packages

我有两个类在不同的包(文件夹)中。如何从FirstClass.java调用变量来查看SecondClass.java中的变量。如果所有变量都是公开的。
第一堂课在 - > C:\ workspace \ First \ FirstClass.java
第二课在 - > C:\工作空间\二\ SecondClass.java

4 个答案:

答案 0 :(得分:2)

我认为你的意思是两个类在不同的日食中(我假设你正在使用eclipse)项目 在您Project->Properties->BuildPath中,将一个项目的引用添加到另一个项目中 然后你就可以使用这些类

答案 1 :(得分:2)

请注意包不是文件夹。包是一种“虚拟”文件夹,对应于某个路径。这些包可能位于文件系统上非常不同的位置,甚至位于不同类型的文件中(例如Java ARchive文件,例如名为* .jar)。

在您的问题中,目前尚不清楚项目的类路径是什么。我假设您项目的根目录是C:/workspace

所以,FirstClass在First包中。 第二课在第二课。

(顺便说一下,你应该坚持使用java的约定,它们说包总是小写字符。)

在这种情况下,为了访问你必须放:

package First;
import Second.SecondClass; // <- Here is the import.
class First{
  // ...
}

在FirstClass.java文件的开头。 必须将SecondClass定义为公共类才能这样做。

package Second;

public class SecondClass{
  // ...
}

如果您忘记了'public'关键字,那么您的类只能在同一个包中的类中显示。

答案 2 :(得分:0)

如果变量作为公共字段存在于类中,那么从外部代码访问字段应该没有问题,尽管包装不同。

...
package first;
public class First {
  public Integer var;
  ...
}

...
package second;
public class Second {
  public Integer var;

  public void test(Second other) {
    System.out.println(other.var);
  }
...

}

如果您遇到问题,也许您可​​以在不同的项目中使用它们,就像您的路径所示? Java代码只跨越Eclipse上的相同项目。

答案 3 :(得分:0)

出于演示目的,此代码应该有效:

first / First.java和second / Second.java中的文件

package first;

public class First {
    public int x;
}


//////////////////////////////////////

package second;

import first.First;

public class Second {
    private int y = new First().x;
}