为什么要用this关键字?
答案:可以解决成员变量和局部变量重名不知道调用谁的问题
有this和没有this区别:
答案:没有this就采用就近原则,谁近就用谁。有this后,就调用本类中的成员变量或者本类中的方法
三大应用场景:
1.this调用本类的成员变量
2.this可以调用本类中的其他方法
3.this调用本类中的其他构造方法,调用时要放在构造方法的首行
使用禁忌:
1.this不能出现在static修饰的方法中
2.this只能在类中的方法内部使用
代码例子:
类(被调用者):
package three; //定义了两个baby变量进行测试 public class Girl { String baby = "御姐";//成员变量baby public void test1() {//第一个方法 String baby = "甜妹";//局部变量baby //输出对比 System.out.println(baby);//没有this:就近原则,甜妹 System.out.println(this.baby);//使用场景1:有this调用本类成员变量,御姐 this.test2();//使用场景2:this调用本类其他方法,调用了test2,男人波塞冬 } public void test2() {//第二个方法 System.out.println("男人波塞冬"); } }
对象(调用类) :
package three; public class Girlfriend { public static void main(String[] args) { Girl girl = new Girl();//1.new调用工具类Girl //因为那边主类的public class不给调用,只能调用Gril中的test方法 girl.test1();//输出test方法 } }
运行结果:
甜妹
御姐
男人波塞冬
成员变量和局部变量区别:
成员变量:在public class本类里面的变量
局部变量:在public class本类中的方法里面的变量
题外话:
this关键字在里面还包括成员变量和局部变量知识点
还有类和对象的调用知识点
如果实在记不住相同的名字调用:就想着this就是要调用距离远的