精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

面試突擊:方法優先調用可選參數還是固定參數?

開發 前端
可選參數是 JDK 5 中新增的以“...”格式存在的參數類型,可選參數可以匹配 0 到無窮個參數,但一個方法中只能有一個可選參數,且可選參數要放在方法參數的最后面。

作者:磊哥

來源 | Java面試真題解析(ID:aimianshi666)

轉載請聯系授權(微信ID:GG_Stone)

面試合集:https://gitee.com/mydb/interview

可選參數(varargs)是 JDK 5 中新增的特性,也叫變長參數或可變參數。它是指一個方法的參數中可以用“...”來表示此方法可以接受無窮個參數,這種表示方法就叫可選參數??蛇x參數的語法如下:

  1. public void method(數據類型... 參數名稱){ 
  2.     // 方法體 

可選參數基本用法如下:

  1. public class ArgumentExample { 
  2.     public static void main(String[] args) { 
  3.         // 調用可選參數 
  4.         method("Java"); 
  5.         System.out.println(); 
  6.         // 調用可選參數 
  7.         method("MySQL""Redis"); 
  8.         // 調用可選參數 
  9.         System.out.println(); 
  10.         method("Spring""Spring MVC""Spring Boot"); 
  11.     } 
  12.     /** 
  13.      * 可選參數方法 
  14.      */ 
  15.     public static void method(String... names) { 
  16.         for (String item : names) { 
  17.             System.out.println(item); 
  18.         } 
  19.     } 

以上程序的執行結果如下圖所示:

固定參數

固定參數的概念恰好與可選參數相反,固定參數也就是普通的參數,一個方法中有固定的參數類型和個數且沒有“...”修飾就是固定參數。JDK 5 之前所有的方法傳參都是固定參數,如下代碼所示:

  1. public class ArgumentExample { 
  2.     public static void main(String[] args) { 
  3.         method("Java"); 
  4.     } 
  5.     /** 
  6.      * 固定參數方法 
  7.      */ 
  8.     public static void method(String name) { 
  9.         System.out.println("固定參數:" + name); 
  10.     } 

可選參數注意事項

可選參數在使用時要注意以下 4 個問題。

1.可選參數是從0到無窮

可選參數的調用個數是從 0 到無窮,而不是從 1 到無窮,這點需要注意一下,如以下代碼所示:

  1. public class ArgumentExample { 
  2.     public static void main(String[] args) { 
  3.         method(); 
  4.     } 
  5.     /** 
  6.      * 可選參數方法 
  7.      */ 
  8.     public static void method(String... names) { 
  9.         System.out.println("可選參數數量:" + names.length); 
  10.     } 

以上程序的執行結果如下圖所示:

從上述代碼可以看出,可選參數即使不傳遞任何參數,也就是 0 個參數,也是能正常調用到的。

2.一個方法只能有一個可選參數

一個方法中只能有一個可選參數,如果有多個可選參數程序會報錯,如下圖所示:

3.可選參數必須要放在方法最后

可選參數如果不放在方法參數的最后面,那么編譯器也會報錯,如下圖所示:

4.可選參數和其他同名方法組成方法重載

可選參數和其他的同名方法可以并存,并且它們組成了方法重載,如下代碼所示:

優先調用固定參數還是可選參數?

基本知識點介紹完,接下來咱們回到本文的主題,當一個方法中有兩類參數:固定參數和可選參數時,究竟是先調用固定參數呢?還是先調用可選參數呢?接下來咱們使用一段代碼來測試一下:

  1. public class ArgumentExample { 
  2.     public static void main(String[] args) { 
  3.         method("磊哥聊編程"); 
  4.     } 
  5.     /** 
  6.      * 固定參數方法 
  7.      */ 
  8.     public static void method(String name) { 
  9.         System.out.println("調用固定參數:" + name); 
  10.     } 
  11.     /** 
  12.      * 可選參數方法 
  13.      */ 
  14.     public static void method(String... names) { 
  15.         System.out.println("調用可選參數:" + names.length); 
  16.     } 

以上程序的執行結果如下:

結論

從上面的結果可以看出,當程序中有固定參數和可選參數時,優先調用固定參數,而非可選參數。

原因分析

看到這,可能有朋友已經意識到了,如果你看過我上一篇《為什么不同返回類型不算方法重載?》就全明白了,究竟是先調用可選參數還是固定參數?上一篇文章在介紹方法重載調用的優先級規則里已經說過了:其中可選參數的調用優先級是最低的,在固定參數和可選參數之間還有其他的調用選項。因為有些朋友沒注意到,或者沒看到,所以我這里再簡單的回顧一下。

第1優先級:精準參數匹配

方法重載會優先調用和方法參數類型一模一樣的固定參數方法。

第2優先級:調用基本類型自動轉換成更大的基本類型

如果是基本數據類型,那么方法重載調用的第 2 匹配原則是自動轉換成更大的基本數據類型,如以下代碼:

  1. public class OverloadExample { 
  2.     public static void main(String[] args) { 
  3.         OverloadExample example = new OverloadExample(); 
  4.         example.method(12); 
  5.     } 
  6.  
  7.     public void method(long num) { 
  8.         System.out.println("調用 long 方法"); 
  9.     } 
  10.  
  11.     public void method(Integer num) { 
  12.         System.out.println("調用 Integer 方法"); 
  13.     } 
  14.  
  15.     public void method(Object num) {  
  16.         System.out.println("調用 Object 方法"); 
  17.     } 
  18.  
  19.     public void method(int... num) { // 可選參數 
  20.         System.out.println("調用 int... 方法"); 
  21.     } 

以上程序的執行結果如下圖所示:

第3優先級:自動裝/拆箱匹配

如果存在基本類型對應的包裝類型,或者是包裝類型對應的基本類型的方法重載,那么會優先調用自動裝箱或自動拆箱的方法重載,如以下代碼所示:

  1. public class OverloadExample { 
  2.     public static void main(String[] args) { 
  3.         OverloadExample example = new OverloadExample(); 
  4.         example.method(12); 
  5.     } 
  6.  
  7.     public void method(Integer num) { 
  8.         System.out.println("調用 Integer 方法"); 
  9.     } 
  10.  
  11.     public void method(Object num) { 
  12.         System.out.println("調用 Object 方法"); 
  13.     } 
  14.  
  15.     public void method(int... num) { // 可選參數 
  16.         System.out.println("調用 int... 方法"); 
  17.     } 

以上程序的執行結果如下圖所示:

第4優先級:按照繼承路線依次向上匹配父類

當有父類參數時會優先調用父類重載方法,如下代碼所示:

  1. public class OverloadExample { 
  2.     public static void main(String[] args) { 
  3.         OverloadExample example = new OverloadExample(); 
  4.         example.method(12); 
  5.     } 
  6.  
  7.     public void method(Object num) { 
  8.         System.out.println("調用 Object 方法"); 
  9.     } 
  10.  
  11.     public void method(int... num) { // 可選參數 
  12.         System.out.println("調用 int... 方法"); 
  13.     } 

以上程序的執行結果如下圖所示:

第5優先級:可選參數匹配

可選參數的調用優先級是最低的,當一個類中只有可選參數方法時,才會調用可選參數方法。

總結

可選參數是 JDK 5 中新增的以“...”格式存在的參數類型,可選參數可以匹配 0 到無窮個參數,但一個方法中只能有一個可選參數,且可選參數要放在方法參數的最后面。它可以和固定參數組成方法重載,但可選參數的調用優先級是最低的。

 

責任編輯:姜華 來源: Java面試真題解析
相關推薦

2010-01-19 13:36:16

VB.NET可選參數

2009-12-17 16:16:24

Rails方法send

2009-10-28 13:23:52

VB.NET可選參數

2022-02-15 07:03:04

start 源碼run線程

2022-04-18 07:36:37

TimeUnit線程休眠

2010-01-12 11:47:09

VB.NET可選參數

2022-03-09 07:35:24

線程池線程參數

2009-03-10 13:51:36

編譯器VS2010C#

2022-01-11 06:53:23

面試重寫重載

2024-01-17 06:23:35

SwiftTypeScript定義函數

2009-08-13 09:47:57

調用JSP EL表達式帶參數方法

2009-05-26 16:12:43

Visual StudC#命名

2010-09-25 13:13:17

tomcatJVM

2022-08-17 07:06:14

SpringBoot配置@Value

2022-04-11 07:40:45

synchroniz靜態方法程序

2022-02-28 07:01:22

線程中斷interrupt

2022-07-11 07:10:48

HTTP協議類型

2021-10-04 14:56:09

機器學習函數參數

2022-05-05 07:38:32

volatilJava并發

2022-06-06 07:35:26

MySQLInnoDBMyISAM
點贊
收藏

51CTO技術棧公眾號

最新成人av网站| 一区二区三区四区视频免费观看| 久久一区二区视频| 国产精品久久久久不卡| 国产稀缺精品盗摄盗拍| 1769国产精品视频| 欧美日韩一区二区在线| 神马影院我不卡午夜| 国产三级视频在线播放| 亚洲狠狠婷婷| 在线播放日韩av| ass极品水嫩小美女ass| jk漫画禁漫成人入口| 中文字幕欧美一| 国产一区自拍视频| 中文在线最新版天堂| 1024日韩| 久久精品成人动漫| 给我看免费高清在线观看| 色狠狠一区二区三区| 精品成人在线视频| 亚洲视频在线观看日本a| 日本毛片在线观看| 国产资源在线一区| 日韩美女写真福利在线观看| 青娱乐国产在线视频| 激情五月综合| 亚洲大胆人体视频| 国内自拍第二页| 欧美成人资源| 亚洲成av人片观看| 国产手机视频在线观看| 九九热视频在线观看| 懂色中文一区二区在线播放| 国产日韩欧美电影在线观看| 欧美亚洲另类小说| 伊人影院久久| 乱亲女秽乱长久久久| 精品一区二区6| 一区二区三区四区在线看| 精品sm在线观看| 欧美性猛交乱大交| 91精品国产一区二区在线观看 | 手机成人在线| 亚洲色大成网站www| 成人99免费视频| wwwxx欧美| 国产成人av免费看| 国产一区二区在线视频| 91免费综合在线| 亚洲综合精品在线| 日本不卡在线视频| 国产成人涩涩涩视频在线观看 | 国产欧美在线| 97人人爽人人喊人人模波多| 九九热国产在线| 欧美一区精品| 欧美精品生活片| 精品一区在线观看视频| 91精品综合| 久久影院在线观看| 印度午夜性春猛xxx交| 一本一本久久a久久综合精品| 综合久久五月天| 农村老熟妇乱子伦视频| 久久中文字幕二区| 久久夜色精品国产欧美乱| 免费在线观看一级片| 欧美日韩亚洲一区| 欧美疯狂性受xxxxx另类| 日日噜噜夜夜狠狠久久波多野| 99成人超碰| 久久99精品久久久久久噜噜| 精品无码一区二区三区电影桃花| 黄色av一区| 欧美一级高清免费播放| 午夜一区二区三区四区| 蜜臀av一区二区三区| 91探花福利精品国产自产在线| 在线视频播放大全| 麻豆成人综合网| 亚洲影院色无极综合| 粉嫩小泬无遮挡久久久久久| 99麻豆久久久国产精品免费| 蜜桃成人在线| 在线免费av电影| 成人免费一区二区三区视频| 99久热在线精品视频| 多野结衣av一区| 欧美色图第一页| 在线观看你懂的视频| 天堂av一区二区三区在线播放| 亚洲欧洲黄色网| 顶臀精品视频www| 在线日韩中文| 国产欧美一区二区三区在线| www.黄色片| 久久久国产精品午夜一区ai换脸| 中文字幕欧美日韩一区二区三区 | 亚洲天堂精品视频| www..com日韩| 国产成人精品一区二区三区视频| 精品1区2区在线观看| 精品无人区无码乱码毛片国产| 国产精品国内免费一区二区三区| 欧美高跟鞋交xxxxhd| 国产高潮久久久| 精品一区二区三区视频| 久久综合一区二区三区| 成人高清免费在线| 色老汉av一区二区三区| 一区二区在线免费观看视频| 精品精品99| 久久久人成影片一区二区三区| 亚洲性猛交富婆| 北岛玲一区二区三区四区| 一区二区三区四区| 欧美magnet| 亚洲国产精品热久久| 黄色香蕉视频在线观看| 日韩二区在线观看| 久久精品女人的天堂av| 免费在线国产视频| 欧美老肥妇做.爰bbww| 久久亚洲AV成人无码国产野外| 欧美在线亚洲| 国产精品久在线观看| 五月婷婷综合久久| 亚洲综合在线五月| 色一情一区二区三区| 一区二区三区日本久久久| 韩国国内大量揄拍精品视频| 国产精品羞羞答答在线| 中文字幕精品一区二区三区精品| 国产午夜福利100集发布| 亚洲超碰在线观看| 久久精品美女视频网站 | 欧美一区二区三区免费观看视频| 一级二级黄色片| 噜噜噜躁狠狠躁狠狠精品视频 | 日韩a一区二区| 欧美一级电影免费在线观看| 污视频在线免费| 亚洲一区日韩精品中文字幕| 香蕉视频xxxx| 亚洲一区 二区 三区| 国产精品夜色7777狼人| 超碰免费在线| 欧美在线免费观看亚洲| 国产jk精品白丝av在线观看 | 中文字幕亚洲影院| 999精品色在线播放| 国产精品揄拍500视频| 都市激情一区| 欧美日韩中文一区| 少妇愉情理伦三级| 九色|91porny| 黄色网zhan| 亚洲一区二区电影| 欧美成人免费大片| 高h调教冰块play男男双性文| 亚洲一区二区三区影院| 尤物网站在线观看| 99热免费精品| 日本一区二区三区精品视频| 色综合一本到久久亚洲91| 一本色道久久88亚洲综合88| 一级黄色片在线| 亚洲欧美福利一区二区| av电影中文字幕| 一本色道久久综合亚洲精品不| 麻豆91av| 成人亚洲综合| 欧美日韩国产123| 天堂av中文字幕| 日本福利一区二区| 蜜桃视频最新网址| 粉嫩av一区二区三区| 久久久久久久久久久视频| 国产精品欧美三级在线观看| 91精品久久久久久综合乱菊| 污的网站在线观看| 日韩电影网在线| 国产偷人爽久久久久久老妇app| 亚洲欧洲日韩一区二区三区| 乱码一区二区三区| 视频一区二区三区入口| 欧美 日韩 国产 在线观看| 亚洲精品午夜| 青青久久aⅴ北条麻妃| 1区2区3区在线观看| 欧美白人最猛性xxxxx69交| 久久精品视频1| 成人免费视频在线观看| 欧美性xxxx图片| 久久se精品一区精品二区| 国产精品自拍合集| 欧洲激情视频| 国产精品久久国产三级国电话系列| 国内激情视频在线观看| 久久久精品免费视频| 午夜av免费观看| 91精品国产综合久久福利软件| 97超碰人人干| 亚洲欧洲中文日韩久久av乱码| 中文字幕影片免费在线观看| 激情小说亚洲一区| 无码aⅴ精品一区二区三区浪潮| 亚洲啊v在线观看| 久久久久一区二区三区| 欧美日韩国产一区二区在线观看| 清纯唯美日韩制服另类| 五月花成人网| 日韩最新在线视频| 黄网在线观看| 亚洲国产精品一区二区三区| 精品国产黄色片| 欧美伊人久久大香线蕉综合69| 国产精品不卡av| 亚洲天堂免费在线观看视频| 精品无码国产污污污免费网站| 成人一区二区三区在线观看 | 不卡视频一二三四| 小泽玛利亚视频在线观看| 先锋影音国产一区| 精品国偷自产一区二区三区| 亚欧美无遮挡hd高清在线视频| 日本婷婷久久久久久久久一区二区| 久久a爱视频| wwwxx欧美| 日韩综合一区二区三区| 成人精品久久av网站| 成人精品国产| 国产精品久久久久久久久影视| 性国裸体高清亚洲| 欧美在线欧美在线| 九色porny自拍视频在线观看| 九九热精品在线| 日本在线观看视频| 日韩久久免费视频| 99久久夜色精品国产亚洲| 欧美高清视频不卡网| 做爰无遮挡三级| 欧美怡红院视频| 一区二区视频网| 欧美三级日韩在线| 伊人久久国产精品| 欧美色视频在线观看| 一二三区在线播放| 欧美日韩国产欧美日美国产精品| 中文字幕日韩经典| 欧美日本在线观看| 一级片在线免费观看视频| 欧美日韩精品系列| 96日本xxxxxⅹxxx17| 91精品免费在线观看| www.蜜桃av.com| 日韩精品中文字幕一区二区三区 | 国产91在线|亚洲| 亚洲少妇一区二区三区| 波多野结衣视频一区| 给我看免费高清在线观看| 久久久国际精品| 国产一区二区三区视频播放| 国产精品高潮呻吟| 久久久久亚洲av无码专区体验| 亚洲激情中文1区| 国产亚洲成人av| 黑人巨大精品欧美一区二区三区| 麻豆精品久久久久久久99蜜桃| 在线观看91视频| 国产精品自偷自拍| 欧美精品一区二区三区高清aⅴ | 少妇人妻互换不带套| 视频一区二区三区入口| 欧美午夜精品理论片| 成人涩涩免费视频| 国产毛片久久久久久久| 国产精品美女久久久久久久| 黑鬼狂亚洲人videos| 亚洲va韩国va欧美va精品| 无码人妻丰满熟妇精品区| 欧美精品一卡二卡| 农村少妇久久久久久久| 亚洲天堂男人天堂| 高潮毛片在线观看| 欧美在线观看视频| 成人豆花视频| 久久av一区二区三区亚洲| 日韩av自拍| 亚洲熟妇国产熟妇肥婆| 美洲天堂一区二卡三卡四卡视频| 妖精视频在线观看| 国产午夜亚洲精品羞羞网站| 国产女人被狂躁到高潮小说| 色综合色狠狠综合色| 国产视频第一页| 亚洲夜晚福利在线观看| 日本精品600av| 国产精品久久久久久一区二区| 午夜日韩影院| 五月天亚洲综合情| 亚洲国产第一| 中文字幕中文在线| 91美女在线观看| 538任你躁在线精品视频网站| 色婷婷激情综合| 韩国av免费在线观看| 深夜福利一区二区| 欧美激情网站| 91在线在线观看| 日韩在线理论| 欧美成人免费高清视频| 国产成人日日夜夜| 91麻豆精品久久毛片一级| 日韩欧美成人精品| 狠狠人妻久久久久久综合麻豆| www.欧美精品| 成人精品电影在线| 久久精品五月婷婷| 在线精品观看| 动漫av在线免费观看| 亚洲欧美偷拍三级| 亚洲天堂狠狠干| 亚洲网站视频福利| 国产精欧美一区二区三区蓝颜男同| 不卡一卡2卡3卡4卡精品在| 99久久亚洲精品蜜臀| 日韩欧美在线免费观看视频| 91蜜桃婷婷狠狠久久综合9色| 国产亚洲精久久久久久无码77777| 欧美日韩一级视频| 成人在线免费电影| 国产精品大陆在线观看| 亚洲欧美tv| 日韩欧美精品在线观看视频| 不卡的av在线| 毛片基地在线观看| 日韩电影免费观看在线观看| 华人av在线| 老牛影视免费一区二区| 国产视频久久| 亚洲精品中文字幕在线播放| 天天爽夜夜爽夜夜爽精品视频| 日本加勒比一区| 777午夜精品福利在线观看| 成人性生交大片免费看96| 成人在线国产视频| 成人av免费网站| 日韩 欧美 精品| 日韩精品久久久久| 超级碰碰久久| 日韩高清av| 美女网站在线免费欧美精品| 欧美性x x x| 欧美一区二区三区婷婷月色| 少女频道在线观看高清| 国产一区二区三区奇米久涩| 免费在线亚洲| 黄色片在线观看免费| 欧美群妇大交群中文字幕| 国产黄色在线免费观看| 91国产丝袜在线放| 亚洲国产激情| 无码熟妇人妻av| 欧美三级在线视频| 米奇777四色精品人人爽| 114国产精品久久免费观看| 欧美特黄一级| 国产精品无码一区二区三区免费 | 亚洲少妇久久久| 自拍av一区二区三区| 欧美一级在线免费观看| 热久久99这里有精品| 久久视频在线| 在线播放av网址| 色狠狠av一区二区三区| 久久综合之合合综合久久| 国产精品精品软件视频| 天堂影院一区二区| 婷婷社区五月天| 亚洲福利视频免费观看| 欧美国产日韩电影| 妺妺窝人体色www看人体| av午夜一区麻豆| 中文字幕人妻丝袜乱一区三区| 欧美高清视频在线| 欧美猛男做受videos| 欧美一级特黄aaa| 精品久久久久久亚洲精品| 黄视频在线观看网站| 精品久久久久亚洲| 激情综合五月婷婷| 成人免费看片98欧美| 久久精品这里热有精品| 人妖一区二区三区| 亚洲综合伊人久久| 日韩欧美国产网站| 亚洲小说区图片区都市| 色乱码一区二区三在线看|