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就代表哪个对象。

 

Posted on 2022-05-19 23:32  LutixiaGit  阅读(30)  评论(0编辑  收藏  举报