Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/344.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 是否可以从主类调用另一个类方法变量?_Java_Class_Variables_Instantiation - Fatal编程技术网

Java 是否可以从主类调用另一个类方法变量?

Java 是否可以从主类调用另一个类方法变量?,java,class,variables,instantiation,Java,Class,Variables,Instantiation,我最近开始用Java编程,遇到了一个我不太确定如何找到答案的问题。下面是简短的版本: 我有一个名为test的类(为了回答这个问题),其中包含公共变量和公共方法,它们有自己的变量。在我的主类中,我可以创建一个对象来调用测试类变量,但是我可以从该类调用方法中使用的变量吗?否,您必须将该变量存储为该类的成员变量。例如: public class Test { public int b; Test() { int a = 1; b = 2; }

我最近开始用Java编程,遇到了一个我不太确定如何找到答案的问题。下面是简短的版本:
我有一个名为test的类(为了回答这个问题),其中包含公共变量和公共方法,它们有自己的变量。在我的主类中,我可以创建一个对象来调用测试类变量,但是我可以从该类调用方法中使用的变量吗?

否,您必须将该变量存储为该类的成员变量。例如:

public class Test {
    public int b;

    Test() {
        int a = 1;
        b = 2;
    }
}
因此,在另一个类中,可以得到
b
的值,如下所示:

Test test = new Test();
int valueOfBInTest = test.b;

但是无法检索
测试的构造函数中使用的
变量,因为该变量在
测试的末尾被遗忘。这是因为所谓的范围。
b
变量具有类实例的范围,因此只要
Test
类的实例存在,就可以检索
b
。但是由于
Test
构造函数中声明了
a
变量,因此它仅在
Test
的构造函数中可用。明确地说,同样的事情也会发生在
测试的任何方法中。如果您在方法中声明了一个变量,那么当该方法完成时,该变量将丢失。

能否显示相关代码以显示您所描述的内容?如果我理解正确,那么您在方法中声明了只能在该方法中访问/使用的局部变量。如果您想稍后访问这些值,您应该将这些值保存在实例变量中。我们需要查看代码!我们不是魔术师;)