this關鍵字的使用

一般,咱們說的this表示的是"當前對象",簡單的說說this使用須要注意的地方,溫故而知新嘛。java

    ①若是一個類有多個構造方法,那麼能夠在一個構造方法裏面經過this調用另一個構造方法。如:   函數

public ThisTest(){
		System.out.println("經過this()方法調用ThisTest()構造器!");
	}
	
	public ThisTest(int i ){
		//調用無參構造器
		this();
		System.out.println("i="+i);
	}

②若爲其賦予一個參數的話,this關鍵字就會自動匹配參數相同的構造方法。如this

public ThisTest(String str){
      //TODO
    }
    public ThisTest(int i){
		System.out.println("若是this關鍵字附帶參數,就會自動匹配與之相同的構造器");
	}
	
	public ThisTest(int i ){
		
		this(i);	//this關鍵字自動匹配形參相同的構造器	
	}

③同一個構造方法裏面不能有兩次this調用。如:code

​
    public ThisTest(){
      System.out.print("-------------------");
    }
    public ThisTest(int i){
		System.out.println("i="+i);
	}
	
	public ThisTest(int i ){
		this();
//		this(i);	//同一個構造器裏面不能有兩次this調用
	}

​

④不能在構造方法以外任何方法裏面使用this來調用構造函數。如:對象

public ThisTest(int i){
		System.out.println("i="+i);
	}
	
	private void f(int i ){
		
//		this(i);	//在方法中不能經過this關鍵字來調用構造函數
	}
    
    
   public static void main(String[] args){
//       this();     //在main方法中也不能經過this來調用構造函數
   }
​

⑤方法中沒必要經過this來調用另外一個方法。如:class

​
    public void _f(int i){
      //TODO
    }
    
	public void f(int i ){
		
//		this._f(i);  	//方法中沒必要經過this關鍵字來調用另一個方法	
        _f(i);         //而是直接調用
	}

​

⑥經過this.只能調用類的成員變量。如:變量

public class ThisTest{
     private String m ;
     
     public ThisTest(String m){
        this.m = m;  //this只能引用成員變量,即使是局部參數和成員參數名相同

     }

     public ThisTest(String n){
//      this.n;     //這是錯誤的引用
     }
  }
相關文章
相關標籤/搜索