代码01
public class ThisDemo01 {
/*
情况:成员变量和局部变量重名的情况,Java使用的是就近原则
问题:非要使用成员变量,怎么办?
解决:使用this关键字区分
this可以区分局部变量和成员变量的重名问题
------------------------------------------
this关键字的作用:
this可以调用本类成员(变量,方法)
this:本类成员变量
this:本类成员方法();
this.省略规则:
本类成员方法:没有前提条件,this.可以直接省略
本类成员变量:方法中没有出现重名的变量,this.才可以省略
----------------------------------------------------
this介绍:代表当前类对象的引用(地址)
-谁来调用我,我就代表谁
-哪一个对象调用方法,方法中的this,代表的就是哪一个对象.
stu1.print()---->this----->stu1地址
stu2.print()---->this----->stu2地址
*/
public static void main(String[] args) {
This stu1=new This();
//p1.name="钢门吹雪";
//p1.sayHello("西域狂鸭");
System.out.println(stu1);
stu1.print();
This stu2=new This();
System.out.println(stu2);
stu2.print();
}
}
代码02
public class This { String name; public void sayHello(String name){ System.out.println(name); //西域狂鸭 System.out.println(this.name); //钢门吹雪 } public void print(){ System.out.println("print方法中打印this关键字--->"+this); } }
运行结果:地址
com.itheima.mthis.This@3b07d329
print方法中打印this关键字--->com.itheima.mthis.This@3b07d329
com.itheima.mthis.This@3d075dc0
print方法中打印this关键字--->com.itheima.mthis.This@3d075dc0