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

时间:2015-10-12 22:16:25

标签: java class variables instantiation

我最近开始用Java编程,并遇到了一个问题,即我不太确定如何搜索答案。所以这是短版本: 我有一个名为test(为了问题)的类,公共变量和公共方法都有自己的变量。在我的主类中,我可以创建一个对象来调用测试类变量,但是我可以调用那个类中方法中使用的变量吗?

1 个答案:

答案 0 :(得分:0)

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

public class Test {
    public int b;

    Test() {
        int a = 1;
        b = 2;
    }
}

所以在你的其他课程中,你可以得到b这样的价值:

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

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