方法的過載和構造

2021-10-17 20:33:37 字數 2076 閱讀 5171

方法名+引數列表

發生在同一類中,方法名相同,引數列表不同,方法體不同

編譯器在編譯時會根據方法的簽名自動繫結呼叫的方法

過載與返回值型別無關

過載與引數名稱無關

package oo.day02;

public

class

aoovoid

show

(int age)

void

show

(string name)

void

show

(string name,

int age)

void

show

(int age,string name)

//int show()//編譯錯誤,過載與返回值無關

//void show(srting adress){}//編譯錯誤,過載與引數名稱無關

}

package oo.day02;

//過載的演示

public

class

overloaddemo

}

給成員變數賦初值

與類同名,沒有返回值型別(連void都沒有)

在建立(new)物件時被自動呼叫

若自己不寫構造方法,則編譯器預設提供乙個無參構造方法

若自己寫了構造方法,則不再預設提供

可以過載

class

student

; string name;

//成員變數(在整個類中使用)

int age;

string adress;

student

(string name1,

int age1,string adress1)

成員變數和區域性變數是可以同名的

class

student

; string name;

//成員變數(在整個類中使用)

int age;

string adress;

student

(string name,

int age,string adress)

指代當前物件,哪個物件呼叫方法它指的就是哪個物件

只能用在方法中,方法中訪問成員變數之前預設有個this.

this.成員變數名-------------------訪問成員變數

​ --------------------當成員變數與區域性變數同名時,訪問成員變數之前的this不能省略

this.方法名()------------------------呼叫方法(一般不用)

this()----------------------------------呼叫構造方法(很少用)

package oo.day02;

//學生類

public

class

student

//方法

void

study()

void

sayhi()

}

package oo.day02;

//構造

public

class

consdemo

}

x =

(int

)(math.

random()

*353

)//0到352

randow rand =

newrandow()

;x = rand.

nexint

(353);

//0到352

記憶體管理:由jvm管理的

堆:new出來的物件(包括成員變數)

棧:區域性變數

方法區表示空,沒有指向物件

若引用的值為null,則該引用不能再進行任何操作

若操作則發生nullpointexception空指標異常

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

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

構造方法和方法過載

結構 訪問修飾符 返回值型別 方法名 引數列表 有返回值接收定義乙個接收變數 接收變數a 類名.方法名 實參 system.out.print 接收變數a 注意點 1.呼叫方法時不用指定實參型別,直接使用具體值即可 2.形式引數與實際引數型別要一致,數量也要一致 引數 基本資料型別做引數時,傳遞的是...

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

一 構造方法 首先構造方法分為有參和無參當你未建立構造方法,系統會預設為人生成無參的構造方法。無參的構造方法 public class person 有參的構造方法 public class person person string name 二 方法的過載 當乙個類中有多個構造方法的時候,當方法名...