首頁  >  文章  >  Java  >  java中this與super有什麼差別

java中this與super有什麼差別

王林
王林轉載
2020-08-03 16:55:444347瀏覽

java中this與super有什麼差別

this是自身的一個對象,代表對象本身,用法大致分為以下3類:

(推薦教學:java入門教學# )

1、普通直接引用目前物件本身

2、形參與成員名重名,用this來區分

3、引用建構方法,this(參數) ,應該為建構函式中的第一條語句,所呼叫的事1本類中另外一種形式的建構方法。

public class Demo{
     String name;
 
    public void setName(String name) {
       this.name = name;// 前一个name是 本类的成员属性: name;       
                       //  后一个name是setName中的参数。
    }
   public static void main(String[]args){
          
           Demo m=new Demo();
           m.setName("旺旺");
   }
   }

super可以理解為是指向自己超(父)類別物件,這個超類別指的是離自己最近的一個父類別。也大致分為3種用法:

(影片教學推薦:java影片教學

1、普通的直接引用,與this類似,只不過它是父類對象,可以透過它呼叫父類別成員。

2、子類別中的成員變數或方法與父類別中的成員變數或方法同名,可以使用super區分。

3、引用建構方法,super(參數):呼叫父類別中的某一個建構方法(應該是建構方法中的第一個語句)

public class Main extends teacher{
	public static void main(String[] args) {
		//super();
	}
	public Main(){
		this();
		super();//出错,this()与super()不能同时出现,且this(),super()都必须在第一行
	}
}

class teacher {
}

屬性的區別:this存取本類別中的屬性,如果本類別沒有此屬性則從父類別中繼續尋找。 super存取父類別中的屬性。

方法的差異:this存取本類別中的方法,如果本類別沒有此方法則從父類別中繼續尋找。 super存取父類別中的方法。

建構的區別:this呼叫本類別構造,必須放在建構方法的首行。 super呼叫父類別構造,必須放在子類別構造方法首行。

其他區別:this表示當前物件。 super不能表示當前物件。

以上是java中this與super有什麼差別的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:csdn.net。如有侵權,請聯絡admin@php.cn刪除