日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

重写与重载常见问题

發(fā)布時(shí)間:2025/3/15 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 重写与重载常见问题 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.


? ? ? ? 通常,派生類繼承基類的方法,因此,在調(diào)用對象繼承方法的時(shí)候,調(diào)用和執(zhí)行的是基類的實(shí)現(xiàn).但是,有時(shí)需要對派生類中的繼承方法有不同的實(shí)現(xiàn). 例如,假設(shè)動物類存在"跑"的方法,從中派生出馬和狗,馬和狗的跑得形態(tài)是各不相同的,因此同樣方法需要兩種不同的實(shí)現(xiàn),這就需要"重新編寫"基類中的方法

? ? ? ? 重寫只能用于父類與子類之間!

? ? ? ?重寫的規(guī)則: 子類中的方法必須與父類中的方法一致,并且范圍只能擴(kuò)大不能縮小,例如父類中定義的方法是 public 型的 子類中的就不能寫成protected 型否則會報(bào)編譯錯(cuò)誤!父類中的定義為protected 型的子類中的可以定義為public型的

? ? ? 重載,在一個(gè)類定義中,可以編寫幾個(gè)同名的方法,但是只要它們的簽名參數(shù)列表不同,Java就會將它們看做唯一的方法。簡單的說,一個(gè)類中的方法與另一個(gè)方法同名,但是參數(shù)表不同,這種方法稱之為重載方法。

? ? ? ?重載是可使函數(shù)、運(yùn)算符等處理不同類型數(shù)據(jù)或接受不同個(gè)數(shù)的參數(shù)的一種方法

? ? ? 重載的規(guī)則: ?重載只發(fā)生在同類之中,并且只有參數(shù)列表不一樣(包括參數(shù)列表的順序 、 類型、個(gè)數(shù))才可稱之為重載,返回值類型不一樣參數(shù)列表一樣不能稱之為重載!且 重載的返回值類型可以不一樣

? ? 下面是重載和重寫常見問題:

? ? ? ? ?

package test;public class OverLoadDemo {/*** @param args*/public static void main(String[] args) {OverLoadDemo o = new OverLoadDemo();o.method(1, 's');// 沒有 與參數(shù)一致的方法,這個(gè)時(shí)候就會有隱式轉(zhuǎn)換 轉(zhuǎn)換時(shí) 有就近原則 像 char 轉(zhuǎn)化為 int 更方便故輸出woainitingzai}public int method(int a,long b){System.out.println("helloword");return 0;}public long method(int a,short b){// 重載只是看參數(shù)列表的順序 、類型 、個(gè)數(shù) 是否不一樣 才算是重載System.out.println("tingting");// 如果是返回值類型不同 方法名不同等等 都不能算是重載return 0;}public int method(int a,int b){System.out.println("woainitingzai");return 0;} // public short method(int a,int b){ 不是重載編譯錯(cuò)誤 // System.out.println("我愛你婷!"); // return 0; // }}class T extends OverLoadDemo{ // public long method(int a,long b){編譯錯(cuò)誤 如果子類的參數(shù)列表和父類的參數(shù)列表一樣 且返回值類型不一樣則會報(bào)編譯錯(cuò)誤 // System.out.println("hello"); // return 0; // }public int method(int a,char c){// 無編譯錯(cuò)誤也并不是覆蓋 覆蓋 就是 和父類的方法一樣 返回值類型 方法簽名都必須一樣return 0;} // private long method(int a,short b){//編譯錯(cuò)誤 如果把父類的這個(gè)方法改為private型的就無編譯錯(cuò)誤 // return 0; // } // long method(int a,short b){//縮小了父類的范圍編譯錯(cuò)誤 // return 0; // } // protected int method(int a,long b) {//縮小了父類的范圍 編譯錯(cuò)誤 // return 0; // // }}

? ? ? ? ? ?


轉(zhuǎn)載于:https://www.cnblogs.com/hgndinfo/archive/2012/04/22/2713982.html

總結(jié)

以上是生活随笔為你收集整理的重写与重载常见问题的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。