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...