我通过在另一个.java类中调用一个单独的.java类的变量来解决一些问题。
我尝试在Variables.java文件中声明Variables,并在另一个.java文件中使用相同的两个变量。但它不起作用。
Variables.java:
package de.cfe.base;
public class Variables {
public static int int1;
public static int int2;
}
和
CallingTheVariables.java:
package de.cfe.base;
public class CallingTheVariables {
public static void main(String[] args) {
int1 = 1;
int2 = 10;
}
}
答案 0 :(得分:3)
当您只说int1
和int2
时,Java假定它们已经在类中定义并且在范围内。但它们没有在CallingTheVariables
中定义。您必须使用定义它们的类来限定您的引用:
Variables.int1 = 1;
Variables.int2 = 10;
高级替代方案是static import(在该页面中向下滚动)。在类中引用变量,将它放在类上面:
import static de.cfe.base.Variables.*;
然后你可以用它们的简单名称来引用变量:
int1 = 1;
int2 = 10;
答案 1 :(得分:2)
试试这个:
Variables.int1 = 1;
Variables.int2 = 10;
int1
和int2
“属于”Variables
,因此您只能通过Variables
访问它们。
答案 2 :(得分:0)
public class CallingTheVariables {
public static void main(String[] args) {
Variables.int1 = 1;
Variables.int2 = 10;
}
}
答案 3 :(得分:0)
尝试以下:
Variables.int1 = 1;
Variables.int2 = 10;
或者您可以执行static import.
import static de.cfe.base.Variables.*;
静态导入构造允许对静态成员进行非限定访问,而不从包含静态成员的类型继承。相反,程序会单独导入成员:
import static java.lang.Math.PI;
或集体:
import static java.lang.Math.*;
何时应该使用静态导入?
非常谨慎!只有在你想要宣布的时候才使用它 常量的本地副本,或滥用继承(常量 接口反模式)。换句话说,在需要时使用它 频繁访问一个或两个类的静态成员。如果你 过度使用静态导入功能,它可以使您的程序不可读 并且不可维护,用所有静态污染其命名空间 您导入的成员。您的代码的读者(包括您,几个月 在你写完之后)将不知道静态成员来自哪个类 从。从类中导入所有静态成员即可 对可读性特别有害;
如果您只需要一个或两个成员,请单独导入它们。如果使用得当,静态导入可以使您的程序更具可读性 删除重复类名的样板。
答案 4 :(得分:0)
您必须正确引用变量。使用
Variables.int1 = 1;
Variables.int2 = 10;
因为它们是静态的,或者如果你想创建它们的实例,删除它们的静态修饰符,然后使用;
Variables v = new Variables();
v.int1 = 1;
v.int2 = 10;