当你在方法中使用相同的名称和类型声明局部变量时,如实例变量 - 是否意味着实例变量在该方法中变为"不可见"?
public class Test {
Card card;
public void foo(){
Card card = new Card();
card.test();
}
}
Run Code Online (Sandbox Code Playgroud)
所以我在foo()方法中声明并实例化局部变量卡.然后为局部变量调用test()方法.如果我删除了Card card = new Card();test()方法,则调用实例变量.
您所看到的有时被称为"遮蔽"变量.每当在内部作用域内声明变量时,该变量将成为与该名称关联的默认变量,直到它超出作用域.
在这种情况下,您可以使用语法访问类变量:
this.card
Run Code Online (Sandbox Code Playgroud)
实例变量不会变为不可见,但它会被局部变量隐藏.你仍然可以访问它this.card.
| 归档时间: |
|
| 查看次数: |
320 次 |
| 最近记录: |