![](https://img2022.cnblogs.com/blog/2871415/202205/2871415-20220519232344300-526397515.png)
package CAK; public class Student { private String name; int age; private int sno; public void setSno(int Sno){ if(sno <= 0 ){ System.out.println("wrong"); } else sno = Sno; } public void setName(String name){ this.name = name; // this.name 表示最上面的private的name; } public int getSno(){ return sno; } public void study(){ System.out.println("good"); } public void play(){ System.out.println("play"); } public void showsno() { System.out.println(name + sno); } }
解决局部变量隐藏成员变量的问题(成员变量 与 局部变量 同名时)
使用this的内存原理
setName方法调用完毕,从栈内存中消失,堆内存中数据改变,方法被哪个对象调用,this就代表哪个对象。