java中過載和重寫的區別

2021-08-07 06:05:56 字數 1600 閱讀 4400

一,方法

是一段用來完成特定功能的**片段。方法在其他語言中也叫函式。

在方法裡面定義區域性變數不能有修飾符,final除外 語法

[修飾符]+[修飾符]+返回值型別+方法名(形式引數1,形式引數2…………)

return :如果方法的返回值型別為void則可以不使用return 

如果方法需要返回值,則要返回相應的資料型別

1、形式引數(形參):在方法被呼叫時用於接收外界輸入的資料。形參中的變數,在方法中是以區域性變數的形式在使用。

2、實際引數(實參):呼叫方法時實際傳給方法的資料。

3、返回值型別:方法執行結束之後,一般會有執行結果來返回給呼叫者,返回值型別就是執行結果的資料型別。若乙個方法沒有返回值,必須給出返回值型別void

4、返回值:方法在執行完畢後返還給呼叫者的具體資料,該資料的資料型別必須與返回值型別匹配。

5、return 語句終止方法的執行並指定要返回的資料。如果返回值型別為void,則可以直接寫return而無需返回值,也可以省略return語句。

三,方法的過載

構成方法過載的必要條件是   方法名相同    引數列表不同(引數型別\當有兩個不同型別引數時,順序不同\個數不同)

1.定義在同乙個類中

2:當引數列表裡的引數個數相同且為基本資料型別時,呼叫時會取當前引數型別範圍較小的那乙個引數。

方法重寫

為什麼子類要重寫方法?

由於父類中的方法功能過於簡單,或者不適用於子類,這種情況需要對父類方法在子類中重寫。

例如:animal中speak方法,輸出為「我是乙個動物」, cat是animal的子類,這時如果直接呼叫父類的方法就有點不太合適,就需要在子類中重寫speak方法。

方法重寫規則

方法重寫規則:兩同兩小一大

兩同:方法名相同,引數列表相同

兩小:被重寫的方法在子類中的返回值型別的範圍比父類小或者與父類相同

被覆蓋的方法在子類中丟擲的異常範圍比父類小或者與父類相同

一大:被覆蓋的方法在子類中訪問控制許可權比父類的大或者相等

1. 可以在方法上加@override測試是否是重寫的方法,如果不是,加了@override後編譯會出錯

2. 在eclipse中可以觀察方法前面是否是綠色三角箭頭,如果有代表是重寫的方法。

方法過載和方法重寫的區別

no.比較點

過載重寫1單詞

overload

override

2方法的宣告

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

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

3返回值

沒有要求

返回值必須相同或者子類

4訪問許可權

沒有要求

子類不能比父類更加嚴格5範圍

同乙個類中

繼承關係中

方法中的引數傳遞

基本資料型別傳遞的是值

引用資料型別傳遞的物件的引用[記憶體位址]

形參:當方法被呼叫時用來接收使用者輸入的資料

實參:當方法被呼叫時使用者傳入的資料(傳給方法的資料)

五,遞迴

遞迴就是在方法裡面呼叫自己的方法

java中重寫和過載

過載是如 public class myslidingdrawer extends slidingdrawer public myslidingdrawer context context,attributeset attrs,int defstyle 其中myslidingdrawer的2個構造函...

JAVA 方法過載和重寫區別

一 方法的過載 1.概念 overloading 方法名稱相同,但是引數列表不同 即的型別和個數都不同 通過傳遞引數的不同來完成不同的功能 2.例子 class number public void tell int a public class overloading 輸出結果為4 1二 方法的重...

java中過載與重寫的區別

過載 overload 方法過載是乙個類中有多個同名方法,但是引數列表不同 引數型別或個數不同 通過傳入的引數不同來呼叫不同的方法。過載是乙個類多型性的表現。方法過載不要求返回值型別相同,所以不能以返回值型別作為區分過載的標準。重寫 override 方法重寫是方法名和引數列表 引數型別和引數個數 ...