Java基礎——this關鍵字

引出this關鍵字java

javaBean中的setter方法爲了使形參便於理解和字段同名,方法中的成員和值如何區分?編程

 

class User{
	private String name;
	
	User(){   //構造器中的this
		System.out.println(this);
		System.out.println(this.name);
		
	}
	
	public String getName() {
		return name;
	}
	public void setName(String name) {    //方法中的this
		  //若是沒有this,則方法中遵循就近原則,會使name的值爲默認值null。
		this.name = name;    
	}
	
	public void printName(){
		System.out.println("類方法輸出名字:"+this.name);
	}
	
}

public class ThisTest {

	public static void main(String[] args) {
		
		User use1=new User();
		use1.printName();   //引用類方法
		System.out.println("user1爲:"+use1);
		use1.setName("ddd");
		use1.printName();   //引用類方法
		System.out.println("user1的名字爲:"+use1.getName());

	}

}
mypro01.User@1db9742
null
類方法輸出名字:null
user1爲:mypro01.User@1db9742
類方法輸出名字:ddd
user1的名字爲:ddd

理解this關鍵字this

 

使用this關鍵字code

  • 解決成員變量和參數(局部變量)之間的二義性必須使用。
  • 同類中實例方法間互相調用(此時能夠省略this,但不建議省略)。
  • 將this做爲參數傳遞給類中另外一個方法。
  • 將this做爲方法的返回值(鏈式方法編程)。
  • 構造器重載的互調,this([參數])必須寫在構造方法第一行。
  • static不能和this一塊兒使用:

        當字節碼被加載進JVM,static成員已經存在了,但此時對象尚未被建立,沒有對象就沒有this。對象

構造器重載的互調get

當多個構造器或方法重載時,通常的,咱們是少參數的調用多參數的。class

參數越多,該方法考慮的未知因素也越多,也就是說功能更強大。變量

相關文章
相關標籤/搜索