Java中的this和super的區別

2021-09-12 18:35:17 字數 547 閱讀 8405

定義:表示對呼叫方法的那個物件的引用,只能在方法內部使用。

預設情況下,每當建立乙個類的物件時,該物件就會擁有乙份屬於自己的全部資料成員的副本(例項變數),即多個儲存空間,而this是表示對呼叫方法的那個物件的引用,能定位不同的例項變數。可以思考,靜態變數不需要this來定位所以靜態方法不需要this。

當前物件傳遞給其它外部方法可以用this(用於不同的類,同一類不用)

class peeler 

return peeler.peel(this);

}}

用於構造器中呼叫構造器

同乙個類中呼叫方法不用加this,預設有this。

class person   

}

public class demosuper extends person

public void print()

public static void main(string args)

}

JAVA中的堆和棧

堆 順序隨意 棧 先進後出 堆和棧的區別 一 預備知識 程式的記憶體分配 乙個由c c 編譯的程式占用的記憶體分為以下幾個部分 1 棧區 stack 由編譯器自動分配釋放 存放函式的引數值,區域性變數的值等。其操作方式類似於資料結構中的棧 2 堆區 heap 一般由程式設計師分配釋放,若程式設計師不...

java中equals和 的思考

首先是 操作符。針對物件而言,是兩個物件引用指向的物件的內部位址是否一致,如果一致,就是true,否則就是false,假設,有乙個類a,用a定義了乙個物件 a a new a a a1 a 其中的a和a1就是物件引用,a引用指向的位址是a物件的內部位址,此時a賦值給a1,a1也指向了新物件a的內部位...

java 中break,和continue的區別

今天寫程式設計師遇到點問題,發現自己有點混淆break continue了已經。所以就從新複習了一下,在網上找到乙個例子,感覺這個 例子真的很棒 清楚明了的解釋了,break,和continue,忍不住就想跟大家分享一下。public class testbreak system.out.print...