gpt4 book ai didi

java - 方法中的变量作用域

转载 作者:行者123 更新时间:2023-11-29 05:09:19 26 4
gpt4 key购买 nike

题目出自著名的SCJP 6书

  1. Given:

    public class Dark {
    int x = 3;

    public static void main(String[] args) {
    new Dark().go1();
    }

    void go1() {
    int x;
    go2(++x);
    }

    void go2(int y) {
    int x = ++y;
    System.out.println(x);
    }
    }

    What is the result?

    A. 2
    B. 3
    C. 4
    D. 5
    E. Compilation fails
    F. An exception is thrown at runtime

按照书上的答案是:

✓ E is correct. In go1() the local variable x is not initialized.

我的问题是为什么 go1() 不能在这里使用第 4 行初始化为 6 的实例变量 x?

最佳答案

因为存在局部变量x。如果 int x; 被注释掉,它将正常运行并使用实例变量。

关于java - 方法中的变量作用域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29241864/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com