分析一下Overload和Override的區別

2021-10-23 17:42:44 字數 1082 閱讀 1672

overload是過載的意思,表示在同乙個類中,允許存在乙個以上的同名函式,只要他們的引數個數或者引數型別不同即可。override是覆蓋的意思,也就是重寫,它與返回值型別無關,只看引數列表。

兩者不同主要體現在:

1、目的

overload用於增加程式的可讀性(做法不同但是做的同一事情)。 override用於提供其超級類已經提供的方法的特定實現。

2、範圍

overload 在相同的類範圍內內執行。 override發生在兩類具有繼承(繼承)的關係。

3、引數

overload引數必須不同,override引數必須相同。

4、多型性

overload 靜態多型,呼叫的函式在編譯時被選中。 override 是執行時多型性的。

5、返回型別

overload中可以相同或不同。但你必須改變引數。 override必須是相同的或協變的。

簡單來說

1.重寫必須繼承,過載不用。

2. 重寫的方法名,引數數目相同,引數型別相容,過載的方法名相同,引數列表不同。

3. 重寫的方法修飾符大於等於父類的方法,過載和修飾符無關。

4. 重寫不可以丟擲父類沒有丟擲的一般異常,可以丟擲執行時異常

總的來說,方法過載就是同名不同參.

方法重寫**:

父類:

public class animal 

public animal(string name,string cry,int age)

public string tostring()

}

子類1:

package demo;

public class talent extends animal

子類2:

package demo;

public class hobby extends animal

}

測試類:

package demo;

public class test1

}

從效能角度分析一下String,List,Map

使用string.substring 方法的時候注意記憶體溢位的問題 public static void testh static class hugestr static class improvedhugestr 三種分隔字串的方法,split 簡單效能最差,stringtokenizer效能...

記錄一下session和cookie

簡單來說 session放在伺服器端。當瀏覽器關閉就會清空。session時間不宜設定過長,否則大量占用伺服器記憶體。cookie適合長時間儲存,在登出時被清除。session 會話處理函式。也就是儲存在伺服器端的乙個全域性陣列。使用方法 1 宣告開始會話,session start 2 儲存會話,...

講一下MVC和MVVM,MVP?

mvc全名是model view controller,是模型 model 檢視 view 控制器 controller 的縮寫,model 呈現資料,view 呈現使用者介面,而 view controller 調節它兩者之間的互動。mvvm全名是model view view model,vie...