小编Lai*_*ang的帖子

java类中全局变量的范围及其在同一类方法中的行为

我是编程和Java的新手,我对同一类方法中全局变量的行为感到困惑.在我正在学习的课程提供的练习题中,我被问到执行后变量b的值是多少inc(b).

    int b;
    int inc(int b){
        b++;
        return b;
    }
    b = 5;
    inc(b);
Run Code Online (Sandbox Code Playgroud)

答案是5而不是6,我理解这是因为Java是按值传递的,并且方法中的所有参数inc都被遗忘了.

另一方面,在java类中,建议为所有实例变量编写set和get方法.那么我的问题是,为什么setter能够更改实例变量并将其值保持在setter之外?换句话说,为什么变量在上面的例子中被"遗忘"了,但在set方法中"记住"了?

    public void setName ( String n ) {
        name = n;
    } 
Run Code Online (Sandbox Code Playgroud)

java scope

3
推荐指数
1
解决办法
148
查看次数

标签 统计

java ×1

scope ×1