注意:如果 局部域内有该变量M,则先调用M;没有则扩大范围,调用成员变量
实例说明:
int m =0;
public int printNum(int n ){
for (int i = 0; i < n; i++) {
for (int j = 0; j <i; j++) {//如果n为4,只有i为1 2 3 才执行内循环
System.out.print(++m); //this.m
}
}
return m;//此时m表示成员变量,如果n为4,则m为6
}
public void returnM(int m){
m=3;//此处m表示形参m,不会影响成员变量的值
}
public int returnValue(int m ){
m =4;
return m ;//m表示的是形参,返回的值为4,但是不影响成员变量的值,即对象中m的值
}
public int test1(Super s ){
Super ss = new Super();
ss.m=55;
s=ss;
return m;//m表示的是this.m,成员变量,返回的是0;
}
public int test1(Super s ){
s.m=5; //此时的s 指向的对象是形式参数
return m;//m表示的是this.m,成员变量,】
}
本文通过几个实例详细解析了在编程过程中局部变量与成员变量的作用域及调用机制,包括形参与成员变量之间的区别,以及如何正确地在方法内部引用不同类型的变量。
151

被折叠的 条评论
为什么被折叠?



