override和Java overload的定義及異同點分析
方法的重寫(Overriding)和重載(Overloading)是Java多態性的不同表現。重寫(Overriding)是父類與子類之間多態性的一種表現,而重載(Overloading)是一個類中多態性的一種表現。
如果在子類中定義某方法與其父類有相同的名稱和參數,我們說該方法被重寫 (Overriding)。子類的對象使用這個方法時,將調用子類中的定義,對它而言,父類中的定義如同被"屏蔽"了。
如果在一個類中定義了多個同名的方法,它們或有不同的參數個數或有不同的參數類型或有不同的參數次序,則稱爲方法的重載(Overloading)。不能通過訪問權限、返回類型、拋出的異常進行重載.
1.方法重載(overload)
概念:簡單的說:方法重載就是類的同一種功能的.多種實現方式,到底採用哪種方式,取決於調用者給出的參數。
注意事項:
(1)方法名相同
(2)方法的參數類型、個數、順序不至少有一項不同
(3)方法返回類型可以不同
(4)方法的修飾符可以不同
如果只是返回類型不一樣,不能夠構成重載
如果只是控制訪問修飾符號不一樣,也是不能構成重載的
Overloaded的方法是可以改變返回值的類型。
2.方法覆蓋(override)
概念:簡單的說:方法覆蓋就是子類有一個方法,和父類的某個方法的名稱、返回類型、參數一樣,那麼我們就說子類的這個方法覆蓋了父類的那個方法。
注意事項:方法覆蓋有很多條件,總的講有兩點一定要注意:
(1)子類的方法的返回類型,參數,方法名稱,要和父類方法的返回類型,參數,方法名稱完全一樣,否則編譯出錯。
(2) 子類方法不能縮小父類方法的訪問權限(反過來是可以的)
例:
Overrride實例
複製代碼 代碼如下:
class A{
public int getVal(){
return(5);
}
}
class B extends A{
public int getVal(){
return(10);
}
}
public class override {
public static void main(String[] args) {
B b = new B();
A a= (A)b;//把 b 強 制轉換成A的類型
int x=al();
tln(x);
}
}
Overload實例
package an;
//Demostrate method voerloading.
class OverloadDemo {
void test(){
tln("NO parameters");
}
void test(int a){
tln("a:"+a);
}//end of Overload test for one integer parameter.
void test(int a, int b){
tln("a and b:"+a+" "+b);
}
double test(double a){
tln("double a:"+a);
return a*a;
}
}
class Overload{
public static void main(String[] args) {
OverloadDemo ob = new OverloadDemo();
double result;
();
(10);
(10, 20);
result = (123.25);
tln("Result of (123.25):"+result);
}
}
相關文章
-
jQuery中的read和JavaScript中的onload函數的區別在哪
在JavaScript中,onload函數是最經常使用的,幾乎涉及到JavaScript的童鞋都少不了要接觸它。這個函數的作用就是等待網頁完全裝載完了以後再去執行代碼塊內的語句,因爲按照文檔流的執行順序,通常用於頭部加載JavaScript的` -
Adobe認證Macromedia Dreamweaver8考試大綱
試題說明考題數量:共60 題考試時間:90 分鐘試題種類:單選題和多選題 1、 基礎(2 道題)掌握網頁設計的基本工作流程,瞭解Dreamweaver 在流程中的重要性瞭解HTML 的基本語法,熟悉並且會修改常用的HTML 標籤掌握基本使用原 -
關於javascript中encodeURI和decodeURI的使用方法
關於java script中encodeURI和decodeURI的使用方法 一、基本概念encodeURI和decodeURI是成對來使用的,因爲瀏覽器的`地址欄有中文字符的話,可以會出現不可預期的錯誤,所以可以encodeURI把非英文字符轉化爲英文編 -
英語作文Never judge a book by its cover
還記得這句英文諺語"Never judge a book by its cover"嗎 下面四幅圖就描述了這樣一個故事.假設你是第一幅圖中左邊的'男孩,站在右邊的是你的朋友Jack,你的媽媽一開始因爲他的穿着打扮很不喜歡他,可是後來又發生了什 -
Jolie drops battle over perfume named Shilohy英語作文
angelina jolie has dropped her legal battle with a perfume-maker who had named her fragrance shiloh - the same as jolies youngest daughter.jolie had filed a note with the u.s. patent and trademark off -
Djokovic Fulfilled Career Grand英語作文
在現實生活或工作學習中,大家都不可避免地要接觸到作文吧,寫作文可以鍛鍊我們的獨處習慣,讓自己的心靜下來,思考自己未來的方向。那麼你知道一篇好的'作文該怎麼寫嗎?下面是小編爲大家整理的Djokovic Fulfilled Career Gr -
The Development of a Private Car英語作文
在我們平凡的日常裏,大家對作文都再熟悉不過了吧,作文是經過人的`思想考慮和語言組織,通過文字來表達一個主題意義的記敘方法。相信寫作文是一個讓許多人都頭痛的問題,下面是小編爲大家整理的The Development of a Privat -
英語閱讀:Covergirl unveils empowering brand update
想要做工程項目經理崗位嗎?那麼大家知道工程部項目經理的崗位職責有哪些嗎?以下是本站小編輯爲您整理的工程部項目經理的崗位職責,供您參考。工程部項目經理的崗位職責有哪些1、認真執行國家和工程所在地政府的有關法 -
《科洛弗悖論(The Cloverfield Paradox)》的經典臺詞
1、如果你是在問我是否願意殺掉三個人,拯救80億人的話,你會怎麼做?2、“現在有壞事發生,但好人會去解決的。”“那要有很多好人才行。”3、我不知道從何說起,但這個世界不是我的,雖然我很希望它是,但它不是我的,它是你的。4、 -
Diaspora Finance Powers Global Development美文欣賞
Diaspora Finance Powers Global DevelopmentLuis Lopez-Ramirez, a 30-year old Honduran immigrant, makes pizza.He has worked two jobs over 16 hours each day.He carefully saves his money and rents a small