java中的this

1:

 引用構造方法

public class  Edge{

     public Edge(Graph g,Vertex u,Vertex v,Object info){

           this(g,u,v,info,1);     ---------------------①

            this(g,u);   --------------------------③

   }

    public Edge(Graph g,Vertex u,Vertex v,Object info,int weight){--------------②

          //your code

    }

   public   Edge(Grahp g,Vertex u){  ------------------④

    }

}

用類名定義一個變量的時候,定義的只是一個引用,外面可以通過這個引用來訪問這個類裏面的屬性和方法。那們類裏面是夠也應該有一個引用來訪問自己的屬性和方法納?就是 this 對象,它可以在類裏面來引用這個類【自己】的屬性和方法:

 此外,③雖然我們可以通過this在一個構造函數中調用另一個構造函數,但是我們頂多只能用這種方法調用一次,而且對另一個構造函數的調用動作必須置於最起始處。【參考《java編程思想》第四章】

2:this和super的區別

屬性的區別:this訪問本類中的屬性,如果本類沒有此屬性則從父類中繼續查找。super訪問父類中的屬性。
方法的區別:this訪問本類中的方法,如果本類沒有此方法則從父類中繼續查找。super訪問父類中的方法。
構造的區別:this調用本類構造,必須放在構造方法的首行。super調用父類構造,必須放在子類構造方法首行。
其他區別:this表示當前對象。super不能表示當前對象
1、this. 變量和super.變量
this.變量 調用的當前對象的變量;
super.變量 直接調用的是父類中的變量。
2、this(參數)和super(參數)方法
this(參數) 調用(轉發)的是當前類中的構造器;
super(參數) 用於確認要使用父類中的哪一個構造器。

優秀博客:1:http://java999.blog.51cto.com/259217/136116/ 2:http://www.cnblogs.com/wsw-bk/p/7774931.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章