/*
this关键字的概念:
1.成员方法是可以访问成员属性的;
2.对于一个类中的"成员属性",是每个对象都拥有一份独立存储空间;
对于"成员方法",是所有对象共享一个"方法空间";
3.this是一个隐式的变量;任何类都有的;
4.this是在实例化此类对象时,会被赋值成当前对象的地址;
5.一般情况下,this 是Java内部隐式使用的。
6.但是,有些时候我们需要必须显示的使用:
1).局部变量覆盖成员变量时,如果要访问成员变量,可以使用:this.成员变量名
*/
class Student
{
String stuName;
int num;
void show(){
int num = 1;
num = 10;
System.out.println("大家好,我叫:" + stuName);
System.out.println("num = " + num);//局部变量覆盖成员变量。默认使用"就近原则",访问的是局部变量的num。
System.out.println("this.num = " + this.num);//访问的就是被覆盖的成员变量;
}
}
class Demo
{
public static void main(String[] args)
{
Student stu = new Student();
// stu.show();//大家好,我叫:null
stu.stuName = "刘德华";
stu.show();//大家好,我叫:刘德华
Student stu2 = new Student();
stu2.stuName = "张学友";
stu2.show();
}
}
|