方法 構造器 過載

2021-08-21 21:59:37 字數 1946 閱讀 2104

this關鍵字:(這個),

成員變數前系統預設提供了this.

類是物件的模板,物件是類的例項化

當形式引數與成員變數名稱一致時,為了區分開,需要在

成員變數前新增this.

this指向的是將要建立的那個物件,即,變數.方法()時的變數

方法:

概念:類的共同行為,封裝了一段邏輯**,在封裝方法時,盡可

能的只完成一項功能(避免將多個功能封裝到乙個方法內)

方法的使用:

方法屬於物件的行為,應該使用:引用.方法,這些方法

動態繫結到物件上  

方法簽名:

方法名+形參列表=方法簽名

形參列表:指的是形參的型別順序列表

如:public void  sum(int a,int b)

問:方法簽名是:  sum + int,int   

public int   eat(string food)

方法簽名是:eat +string  

方法的過載(overload):

在同乙個型別中,方法名相同,引數列表不同     

在方法呼叫時,編譯器會檢查類的資訊中是否有

此方法簽名的方法

c.sum(3,5):

此時編譯器檢查類中是否有c.sum(int,int)這樣的方法

如果有,編譯通過,

沒有,編譯失敗,並提示錯誤

記憶體管理機制:

jvm將記憶體分成三大主要區域。

方法區: jvm將位元組碼檔案載入到此區域,用來儲存類的資訊

堆(heap):用來儲存引用型別的物件

棧(stack):用來儲存方法內的區域性變數

棧幀:是棧中的空間。當程式執行到某乙個方法時,jvm專門

為此方法開闢的一塊獨有空間,此方法內的區域性變數

都在此棧幀中,當此方法結束後,棧幀消失,釋放記憶體

構造方法(構造器):

是特殊的方法,作用是用來給成員變數(field,字段,屬性)

初始化。

特殊在(1)沒有返回值這個位置

(2)方法名與型別相同

如: 點,

public class point

....普通方法 }

預設無參構造器:如果定義類時,沒有新增構造方法,系統

會預設提供乙個公有的沒有形式引數的構造方法

public point(){}

注意:如果定義期間,提供了構造器,系統不再

提供無參構造器。

有參構造器:因為構造器是用來給成員變數初始化的,為了方便,所以形式引數的名稱都與成員變數一致。因此,在賦值時,this.不能省略。

構造器的呼叫:

只能是new關鍵字來呼叫 。

new 構造方法(有參傳參)。

物件的例項化:是由new完成的(物件此時就存在了,但是成員變數都是預設值)

物件的成員變數初始化:是由new呼叫的構造器進行的(成員變數是第一次被賦值)

構造器的過載:

乙個類中,可以有多個構造器。

方法名相同,引數列表不同

Java 構造器 過載

一 涉及基本型別的過載 1 如果傳入的資料型別 實際引數型別 小於方法中申明的形式引數型別,實際資料型別就會被提公升。char型略有不同,若果無法找到恰好接受 char 引數的方法,就會把 char 直接提公升至 int 型。2 方法接受較小的基本型別作為引數,如果傳入的實際引數較大,就得通過型別轉...

構造方法構造器 構造方法過載

一 構造方法 構造器 定義 1 構造方法就是類似於方法,但是構造方法沒有返回值 不用也不能寫void 2 構造方法名字必須與類名相同 3 構造方法不能被static修飾 構造方法屬於物件,static屬於類 4 一旦定義帶參的建構函式,程式將不再為你自動建立空構造器。作用 可以在new物件的同時傳入...

構造方法和構造方法的過載

1.通過new關鍵字呼叫 2.構造器雖然有返回值,但是不能定義返回值型別 返回值的型別肯定是本類 不能在構造器裡使用return返回某個值。3.如果我們沒有定義構造器,則編譯器會自動定義乙個無參的建構函式。如果已定義則編譯器不會自動新增 4.構造器的方法名必須和類名一致 類 class point ...