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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

用java画海绵宝宝_java 方法的重载

發布時間:2025/3/12 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 用java画海绵宝宝_java 方法的重载 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

方法的重載:一個類中允許出現一個以上的同名方法,必須保證同名方法的參數列表不同

好處:方便閱讀,優化程序設計

重載規則:重載方法名相同,但每個重載方法都必須有一個獨一無二的參數類型列表,方法的返回值也可不同

參數個數和類型相同但參數順序不同也可以區分這兩個方法,不過一般情況下不這樣做,因為會讓代碼難以維護

1.基本重載

1 public classMyMethod{2 //加法運算 x+y=z

3 public int add(int a,intb){4 return a+b;5 }6 public double add(double a,doubleb){7 return a+b;8 }9 public static voidmain(String[] args){10 MyMethod mymethod = newMyMethod();11 int a1 = mymethod.add(1,2);12 double a2 = mymethod.add(1.2,2.3);13 }14 }

2.涉及基本類型的重載

基本類型能從一個"較小"的類型自動提升至一個"較大"的類型,此過程涉及到重載,會有些特殊的地方會混淆

如果有某個重載方法接受int型參數,他就會被調用

如果傳入的數據類型(實際參數類型)小于方法中聲明的形式參數類型,實際參數類型就會被提升

char類型不同,如果無法找到接收char類型參數的方法,就會把char直接提升至int

如果傳入的參數較大,就得通過類型轉換來執行窄化轉換

3.其他:運算問題

在寫重載方法時遇到一個小問題:以上程序沒問題,但是重載一個byte和short類型的參數方法時會報錯

1 public classMyMethod{2 //加法運算 x+y=z

3 public int add(int a,intb){4 return a+b;5 }6 public byte add(byte a,byteb){7 return (byte)(a+b); //必須強制轉換,否則報錯

8 }9 public short add(short a,shortb){10 return (short)(a+b); //必須強制轉換,否則報錯

11 }12 public static voidmain(String[] args){13 MyMethod mymethod = newMyMethod();14 byte a1 = mymethod.add(1,2);15 short a1 = mymethod.add(1,2);16 /*

17 //錯誤寫法18 byte a = 10;19 byte b = 20;20 byte c = a+b; //int+int21

22 short a = 10;23 short b = 20;24 short c = a+b;25 */

26 }27 }

以上程序中在調用byte a1 = mymethod.add(1,2);和short a1 = mymethod.add(1,2);時會報錯:可能損失精度

解決方法:進行強制轉換 return (byte)(a+b);

原因:算術運算(+,-,*,/,%):在沒有出現long類型的情況下,算術運算符兩邊的數據都會按照int運算,會自動將數據類型提升為int

在算數運算中存在long類型,則全部按照long運算。

總結

以上是生活随笔為你收集整理的用java画海绵宝宝_java 方法的重载的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。