从另一种方法获取变量的值

时间:2019-07-04 08:44:57

标签: java

我如何打印在另一种方法中定义的变量的值?

这可能是一个愚蠢的问题,但由于我只是编程的初学者,请帮助我

public class XVariable {
    int c = 10; //instance variable

void read() {
    int b = 5;
    //System.out.println(b);
}

public static void main(String[] args) {
    XVariable d = new XVariable();
    System.out.println(d.c);
    System.out.println("How to print value of b here? ");
    //d.read();
}
}

3 个答案:

答案 0 :(得分:4)

不能。 b局部变量。它仅在read执行期间存在,并且如果read执行多次(例如,在多个线程中或通过递归调用),则read的每次执行都有其自己的单独变量。

您可能要考虑从方法中返回的值,或者可能使用字段代替-这取决于您的实际用例。

Java tutorial section on variables提供了有关各种变量的更多信息。

答案 1 :(得分:1)

您需要从read()方法返回值。

public class XVariable {
    int c = 10; //instance variable

int read() {
    int b = 5;
    return b;
}

public static void main(String[] args) {
    XVariable d = new XVariable();
    System.out.println(d.c);
    System.out.println(read());
    //d.read();
}
}

答案 2 :(得分:0)

b方法返回read并打印

public class XVariable {
    int c = 10; //instance variable

    int read() {
        int b = 5;
       return b;
    }

    public static void main(String[] args) {
        XVariable d = new XVariable();
        System.out.println(d.c);
        System.out.println(d.read());
    }
}