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);
}
}
-
java圖片處理功能介紹
java可實現縮放圖像、切割圖像、圖像類型轉換、彩色轉黑白、文字水印、圖片水印等常用功能,本文是本站小編搜索整理的關於java圖片處理功能介紹,供參考學習,希望對大家有所幫助!想了解更多相關信息請持續關注我們應屆畢業生考試網!代碼如下複製代碼importaComposi...
-
21個java基本知識點
本文主要是一些java基礎知識點相關的,所以也希望能分享給剛剛入門的Java程序員和打算入Java開發這個行當的準新手們,希望可以給大家一些經驗,能讓大家更好學習和使用Java。1.JVM相關(包括了各個版本的特性)對於剛剛接觸Java的人來説,JVM相關的知識不一定需要理解很...
-
jsp向cookie寫入中文亂碼的解決辦法
jsp在向cookie寫入中文亂碼大家是怎麼處理的呢?下面是小編給大家提供的解決辦法,大家可以參考閲讀,更多詳情請關注應屆畢業生考試網。在jsp中對中文的處理有一點不好就可能出現亂碼了,下面我來給大家介紹jsp中向cookie寫入中文實現程序有需要了解的`朋友可參考。Co...
-
Java中運算符的使用
導語:計算機的最基本用途之一就是執行數學運算,作為一門計算機語言,Java也提供了一套豐富的運算符來操縱變量。下面是java中運算符的使用,一起來學習下吧:算術運算符單目:+(取正)-(取負)++(自增1)--(自減1)雙目:+-*/%(取餘)三目:a>b?true:false説明:當a大於b的時候,為tru...
相關文章
- 關於javascript中encodeURI和decodeURI的使用方法
- Diaspora Finance Powers Global Development美文欣賞
- Djokovic Fulfilled Career Grand英語作文
- 英語閲讀:Covergirl unveils empowering brand update
- 《科洛弗悖論(The Cloverfield Paradox)》的經典台詞
- The Development of a Private Car英語作文
- Jolie drops battle over perfume named Shilohy英語作文
- Adobe認證Macromedia Dreamweaver8考試大綱
- 英語作文Never judge a book by its cover
- jQuery中的read和JavaScript中的onload函數的區別在哪