是否可以从主 class 调用另一个 classes 方法变量?
Is it possible to call another classes method variables from the main class?
我最近开始在 Java 中编程并且 运行 遇到了一个我不太确定如何搜索答案的问题。所以这是简短的版本:
我有一个名为 test 的 class(为了这个问题),其中包含 public 变量和 public 方法,它们有自己的变量。在我的主要 class 中,我可以创建一个对象来调用测试 class 变量,但是我可以调用该 class 方法中使用的变量吗?
不,您必须将该变量存储为 class 的成员变量。例如:
public class Test {
public int b;
Test() {
int a = 1;
b = 2;
}
}
所以在你的另一个 class 中,你可以这样得到 b
的值:
Test test = new Test();
int valueOfBInTest = test.b;
但是无法检索在 Test
的构造函数中使用的 a
变量,因为在 Test
构造函数的末尾忘记了该变量。这是因为称为范围的东西。 b
变量的作用域是 class 的实例,所以只要 Test
class 的实例在附近,就可以检索 b
.但是由于a
变量是在Test
构造函数中声明的,所以它只能在Test
的构造函数中使用。需要明确的是,Test
的任何方法都会发生同样的事情。如果您在方法内声明一个变量,该变量将在该方法完成时丢失。
我最近开始在 Java 中编程并且 运行 遇到了一个我不太确定如何搜索答案的问题。所以这是简短的版本: 我有一个名为 test 的 class(为了这个问题),其中包含 public 变量和 public 方法,它们有自己的变量。在我的主要 class 中,我可以创建一个对象来调用测试 class 变量,但是我可以调用该 class 方法中使用的变量吗?
不,您必须将该变量存储为 class 的成员变量。例如:
public class Test {
public int b;
Test() {
int a = 1;
b = 2;
}
}
所以在你的另一个 class 中,你可以这样得到 b
的值:
Test test = new Test();
int valueOfBInTest = test.b;
但是无法检索在 Test
的构造函数中使用的 a
变量,因为在 Test
构造函数的末尾忘记了该变量。这是因为称为范围的东西。 b
变量的作用域是 class 的实例,所以只要 Test
class 的实例在附近,就可以检索 b
.但是由于a
变量是在Test
构造函数中声明的,所以它只能在Test
的构造函数中使用。需要明确的是,Test
的任何方法都会发生同样的事情。如果您在方法内声明一个变量,该变量将在该方法完成时丢失。