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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

Java面向对象(3.1)--方法的重载,可变个数的形参,值传递机制,递归

發布時間:2023/12/2 java 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java面向对象(3.1)--方法的重载,可变个数的形参,值传递机制,递归 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

重載

在同一個類中,允許存在一個以上的同名方法,只要它們的參數個數或者參數
類型不同即可。

與返回值類型無關,只看參數列表,且參數列表必須不同。(參數個數或參數類
型或者多個參數時參數類型順序)。調用時,根據方法參數列表的不同來區別。

public void getSum(int i,int j){System.out.print(i + j); } public void getSum(double i,double j){System.out.print(i + j); } public void getSum(String i,int j){System.out.print(i + j); } public void getSum(int i,String j){System.out.print(i + j); }

可變個數的形參

允許直接定義能和多個實參相匹配的形參。

基本格式:方法名(參數的類型名 ...參數名){}

方法參數部分指定類型的參數個數是可變多個:0個,1個或多個。

可變個數形參的方法與同名的方法之間,彼此構成重載。

方法的參數部分有可變形參,需要放在形參聲明的最后。在一個方法的形參位置,最多只能聲明一個可變個數形參。例如public static void test(int a ,String…books);

public void testOne(String[] msg){System.out.println(“含字符串數組參數的test方法 "); } //第一個testTwo方法 public void testTwo(String book){System.out.println(****與可變形參方法構成重載的test1方法****"); } //第二個testTwo方法 public void testTwo(String ... books){System.out.println("****形參長度可變的test1方法****"); } public static void main(String[] args){TestOverload to = new TestOverload();//下面執行第一個testTwo方法to.testTwo("aa");//下面兩次調用將執行第二個testTwo方法to.testTwo();to.testTwo("aa" , "bb");//下面將執行testOne方法to.testOne(new String[]{"aa"}); }

可變個數形參的方法與本類中方法名相同,形參類型也相同的數組之間不構成重載。也就是說兩者不能共存。例如上面示例中需要將testOne和testTwo的第二個定義成不同名的。


值傳遞機制

形參:方法定義時,聲明的小括號內的參數
實參:方法調用時,實際傳遞給形參的數據

規則:
如果參數是基本數據類型,此時實參賦給形參的是實參真實存儲的數據值。
如果參數是引用數據類型,此時實參賦給形參的是實參存儲數據的地址值。


遞歸

一個方法體內調用它自身。

方法遞歸包含了一種隱式的循環,它會重復執行某段代碼,但這種重復執行無須循環控制。

遞歸一定要向已知方向遞歸,否則這種遞歸就變成了無窮遞歸,類似于死循環。

總結

以上是生活随笔為你收集整理的Java面向对象(3.1)--方法的重载,可变个数的形参,值传递机制,递归的全部內容,希望文章能夠幫你解決所遇到的問題。

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