java中this關鍵字與super關鍵字的區別
區別點 | this | super |
---|---|---|
屬性訪問 | 訪問本類中的屬性,如果本類中沒有此屬性,則從父類中繼續查詢 | 訪問父類中的屬性 |
方法 | 訪問本類中的方法,如果本類中沒有此方法,則從父類中繼續查詢 | 直接訪問父類中的方法 |
呼叫構造 | 呼叫本類建構函式,必須放在建構函式首行 | 呼叫父類的建構函式,必須放在子類建構函式的首行 |
特殊 | 表示當前物件 | 無此概念 |
注:
1、由於this與super都能呼叫建構函式,但是兩者不能同時出現,因為兩者都必須放在構造方法的首行。
2、無論子類如何操作,最終都必須要先呼叫父類中的構造方法。
相關推薦
java中this關鍵字與super關鍵字的區別
區別點 this super 屬性訪問 訪問本類中的屬性,如果本類中沒有此屬性,則從父類中繼續查詢 訪問父類中的屬性 方法 訪問本類中的方法,如果本類中沒
this關鍵字與super關鍵字詳解
一.this關鍵字 1.例項一: (1)需求:使用Java類描述一個動物; (2)例項: class Animal{ String name; //成員變數 String color; pub
Android Java中的static與final關鍵字的作用
static 1. static變數 按照是否靜態的對類成員變數進行分類可分兩種:一種是被static修飾的變數,叫靜態變數或類變數;另一種是沒有被static修飾的變數,叫例項變數。兩者的區別是: 對於靜態變數在記憶體中只有一個拷貝(節省記憶體),JVM
this關鍵字與super關鍵字
一 this關鍵字 this關鍵字在程式中三種常見的用法: (1)通過this關鍵字可以明確地去訪問一個類的成員變數,解決與區域性變數名稱衝突問題。 例: <span
Java中重載與重寫的區別
ref 類對象 就是 不同 3.4 做出 同方 相同 默認 簡單的個人記憶,重寫是子類中的方法與父類的方法參數、返回值一模一樣,重載是對於同一個類中的方法,方法名相同,參數類型、個數不同。當父類的引用指向子類對象的時候,子類中如果有對於父類方法的重寫,則調用的是子類重寫過的
java中類方法與物件方法區別
public class Test { /** * 下面這個方法就是靜態方法,應該就是樓主所說的類方法~~ * 靜態方法必須定義成static的,在類Test被例項化以前就已經存在於記憶體中 * 靜態方法使所有該類的例項也就是物件共有的方法 */ public static void f1() {
Java中"" 與 null 的區別
String name; String nickName = “”; 區別一 null :代表的是空物件。 解釋:它還沒有目標,不知道要指向誰?等同於 String name = null。除了可以操作判斷或賦值語句(== || = )外,不可以對其進行其他任何操作。例如 name.trim
Java 中的 ==, equals 與 hashCode 的區別與聯絡
一、概述 1、概念 == : 該操作符生成的是一個boolean結果,它計算的是運算元的值之間的關係 equals : Object 的 例項方法,比較兩個物件的content是否相同 hashCode : Object 的 native方法 , 獲取物件的雜湊值,用
Java中,overload與override的區別
Java的overload(過載)與override(重寫,覆蓋)的區別 一,overload(過載) 1,overload(過載)表示同一個類中可以有多個名稱相同的方法,但是這些方法的引數列表各不相同(即不同的引數型別,不同的引數個數,不同的引數順序,)。
java中Map,List與Set的區別
Map 是一種把鍵物件和值物件對映的集合,它的每一個元素都包含一對鍵物件和值物件。 Map沒有繼承於Collection介面 從Map集合中檢索元素時,只要給出鍵物件,就會返回對應的值物件。 Map 的常用方法: 1 新增,刪除操作: [html] view plain copy
Java中的long與double的區別
publicclassTest1{publicstaticvoid main(String[] args)throwsException{long long1 =Long.MAX_VALUE -100L;double dbl1 = long1;long long2 = long1+1;double
java中try catch與if else區別
有人說了try ...catch...不就是丟擲異常以文字形式顯示出來麼?if...else...也可以阿.else裡面寫showmessage不就可以麼??? 首先try提捕獲異常的,即異常並不是我們能預先知道的,所以不能用if什麼條件來判斷的。異常是需要在程式
java中抽象類與介面的區別
抽象類:抽象類更多的是用來定義一個很多東西的本質,即他是不是,如果我們可以宣告一個抽象類annimal,然後新建一個cat類去繼承
Java中super關鍵字、super關鍵字與this關鍵字的區別
1 super關鍵字 1.1 super用於方法 1.1.1 用於構造方法 當子類呼叫父類無參構造時,super可寫可不寫,表示呼叫父類的無參構造! 當子類呼叫父類有參構造時,super(引數列表)必須要寫,要告訴編輯器呼叫的是哪個有參構造!
Java中this和super關鍵字的區別
this強調的是物件的本身,通過this呼叫的屬性和方法都是它所屬於的那個類中的屬性和方法。屬於物件和類間的關係 super在子類中呼叫父類的方法和屬性。屬於子類和父類兩個類間的關係 //父類
Java中this和super關鍵字區別
1. super關鍵字表示的是子類呼叫父類的中指定的操作。例如:呼叫屬性,方法,構造等. 因為在子類例項化的時候會預設呼叫父類的無參構方法,如果現在希望呼叫友殘構造,則必須在子類中明確的宣告。 舉例: public class ExtDemo05 { publ
Java中this與super關鍵字
一、關鍵字--this 1、this是什麼? 在Java中,this關鍵字的作用和其詞義很接近. 它在方法內部使用,即這個方法所屬物件的引用; 普通方法中,this總是指向呼叫該方法的物件; 它在構造器內部使用,表示該構造器正在初始化的
java中this 和 super關鍵字的作用
etag 傳遞 記錄 ont this spa 根據 普通 void emmmmmm也真的是好久沒有寫過java了,因為項目需要, 最近又必須重新拾起來了,雖然好多東西也都忘得差不多了.... 然後發現 竟然把super和this傻傻分不清.... 開個帖子記錄一下: 一、
Java中this與super的區別以及用法
輸出結果 類構造 pan tex 成員變量 靜態 public 裏的 一個 super()用法 super()函數在子類構造函數中調用父類的構造函數時使用,必須要在構造函數的第一行。 1 class Animal { 2 public Anima
Java中this,super關鍵字
一.this Java關鍵字this只能用於方法方法體內。當一個物件建立後,Java虛擬機器(JVM)就會給這個物件分配一個引用自身的指標,這個指標的名字就是this。因此,this只能在類中的非靜態方法中使用,靜態方法和靜態的程式碼塊中絕對不能出現this,這在“Java關鍵字s