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