首页 > 解决方案 > 局部变量和实例变量同名

问题描述

我不完全理解在这种情况下发生的过程:

class SomeClass {

    int val = 50;
    String str = "default";

 public SomeClass(int val) {
        val = val;
    }
}

这个语句 val = val 到底发生了什么?

标签: java

解决方案


这个语句 val = val 到底发生了什么?

这会将局部变量的值分配val给自身。要将本地分配给val实例val,请使用this关键字:

this.val = val;

推荐阅读