做java兩年了,構造方法和方法重載還是搞不明白?一文幫你搞定

雲棲號資訊:【點擊查看更多行業資訊
在這裏您可以找到不同行業的第一手的上雲資訊,還在等什麼,快來!


成員方法

類成員主要包括成員變量和成員方法。

帶參數的成員方法

帶參數的成員方法可以接受用戶輸入的內容。創建帶參數的方法時定義的參數叫形式參數,即形參;調用方法時傳入的參數叫實際參數,即實參。
語法結構:

// 有參方法
[訪問修飾符] 返回值類型 方法名(參數列表){
        代碼;
        return 具體的返回值;
    }

參數傳遞:

  • 基本數據類型做參數時,傳遞的是值,不能出方法的範圍
  • 引用數據類型做參數時,傳遞的是地址,可以影響方法外部
  • 特殊:String做參數時,等同於基本數據類型

方法重載

方法重載是指在一個類中定義多個同名的方法,每個方法的參數列表不同。

方法重載其實是對原有方法的一種升級,可以根據參數的不同,採用不同的實現方法,而且不需要編寫多個名稱,簡化了類調用方法的代碼。

  • 重載的方法必須在同一個類中
  • 方法名相同
  • 參數列表不同(不包含參數名不同)
  • 方法的重載與訪問修飾符和返回值類型無關

成員變量

類中的屬性,也就是直接在類中定義的變量稱作成員變量,它定義在方法外面。

局部變量就是定義在方法中的變量;一般情況下,局部變量在使用前需要賦值,否則會編譯出錯。

成員變量和局部變量的區別

作用域不同。局部變量的作用域僅限於定義它的方法,在該方法外無法訪問它;成員變量的作用域在整個類內部都是可見的,所有成員方法都可以使用它,如果訪問權限允許,還可以在類外部使用成員變量

初始值不同。成員變量在定義時可以不初始化,Java會給成員變量賦初始值;但是Java不會給局部變量賦初始值,因此在定義局部變量時必須初始化後再使用

在同一個方法中,不允許有同名的局部變量,在不同的方法中可以有同名的局部變量

局部變量可以和成員變量同名,並且在使用時,局部變量具有更高的優先級

構造方法

Java中,當類創建一個對象時會自動調用該類的構造方法,構造方法分爲默認構造方法和帶參數的構造方法。

構造方法的主要作用是進行一些數據的初始化;定義構造方法的語法格式:

// 構造方法
訪問修飾符 方法名([參數列表]){
        初始化代碼;
    }

構造方法沒有返回值

默認構造方法沒有參數,因此參數列表可選

構造方法的方法名與類名相同

如果自定義了一個或多個構造方法,中 Java不會自動添加默認的構造方法;此時若還想使用默認構造方法,則需要手動寫出默認構造方法

this關鍵字

this 關鍵字是對一個對象的默認引用。

this 的使用:

(1)調用成員變量;在方法中調用成員變量,若局部變量和成員變量同名,則需要通過 this 關鍵字區分成員變量和局部變量

// this關鍵字調用成員變量
public void setName(String name){
    this.name=name;
}
public void setName(String xm){
    name=xm;
}

當成員變量和局部變量同名時,必須使用 this 關鍵字,這裏 this. 後面指的是成員變量

當成員變量和局部變量不同名時,this 關鍵字可以省略

(2)使用 this 調用成員方法

// this關鍵字調用成員方法
public void setName(String name){
    this.name=name;
}
public void setName(String xm){
    this.setName();
}

調用方法時,this 關鍵字可以省略

(3)使用 this 關鍵字調用重載的構造方法,只能在構造方法中使用,且必須是構造方法的第一條語句

// this關鍵字調用構造方法
public void Penguin(String name,String sex){
    this.name=name;
    this.sex=sex;
}
public void Penguin(String name,int health,int love,String sex){
    this(name,sex);
    this.health=health;
    this.love=love;
}

【雲棲號在線課堂】每天都有產品技術專家分享!
課程地址:https://yqh.aliyun.com/live

立即加入社羣,與專家面對面,及時瞭解課程最新動態!
【雲棲號在線課堂 社羣】https://c.tb.cn/F3.Z8gvnK

原文發佈時間:2020-07-22
本文作者:程序員偉傑
本文來自:“掘金”,瞭解相關信息可以關注“掘金”

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章