this关键字的用法:
(1)this可以用来修饰属性:
总结:当属性名字和形参发生重名的时候,或者,属性名字和局部变量重名的时候,都会发生就近原则,所以如果我要是直接使用变量名字的话就指的是离得近的那个形参或局部变量,这时候如果我想要表示属性的话,在前面要加上:this.修饰
如果不发生重名问题的话,实际上你要是访问属性可以省略this.
package com.msb4; public class Person { int age; String name; double height; public Person(){} public Person(int age,String name,double height){ this.age=age; this.name=name; this.height=height; } public void eat(){ int age=90; System.out.println(age); System.out.println(this.age); System.out.println("我喜欢吃饭"); } }
(2)this修饰方法:
总结:在同一个类中,方法可以互相调用,this.可以省略不写。
public void play(){ this.hh(); System.out.println("吃饭"); } public void hh(){ System.out.println("皇天在上"); System.out.println("吃饭"); } }
(3)this可以修饰构造器:
总结:同一个类中的构造器可以相互this调用,注意:this修饰构造器必须放在第一行
public Person(int age,String name,double height){ this(age,name); this.height=height; } public Person(int age,String name){ this(age); this.name=name; } public Person(int age){ this.age=age; }