Java定義形式及可變參數(shù)實(shí)例解析
這篇文章主要介紹了Java定義形式及可變參數(shù)實(shí)例解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
Java中的方法類似于面向過(guò)程程序設(shè)計(jì)中的函數(shù),但與其不同的是,Java中的方法不能獨(dú)立存在,它屬于類或?qū)ο?。既然方法屬于類或?qū)ο?,那么,方法的調(diào)用者就必須是類或?qū)ο蟆#ó?dāng)然,之后將會(huì)提到的同一個(gè)類中方法互相調(diào)用,實(shí)際上也是類或?qū)ο笤谧鳛檎{(diào)用者)
還是先上一段代碼:
package com.my.pac05; /** * @author Summerday * @date 2019/12/1 15:30 */ public class MethodTest { public static void main(String[] args) { //通過(guò)類直接調(diào)用static修飾的first()方法 MethodTest.first(); //MethodTest.second();錯(cuò)誤 //方法由static修飾,可以通過(guò)類直接調(diào)用static修飾的方法 //創(chuàng)建實(shí)例對(duì)象,訪問(wèn)沒(méi)有static修飾的普通方法 MethodTest method = new MethodTest(); method.second(); //接收secondVal方法的返回值 int secondValue = method.secondVal(); System.out.println(secondValue);//10 method.third(2); //接收thirdVal方法的返回值 int thirdValue = method.thirdVal(20); System.out.println(thirdValue);//20 method.fourth('a', 'b'); method.fifth("hello","what's","your","name"); System.out.println(); method.sixth(new String[]{"hello","what's","your","name"}); } //static修飾的靜態(tài)方法 public static void first(){ System.out.println("static: no param..."); } //無(wú)參數(shù)(無(wú)參無(wú)返) public void second() { System.out.println("no param.."); } //無(wú)參有返 public int secondVal(){ return 10; } //一個(gè)參數(shù)(有參無(wú)返) public void third(int param1) { System.out.println("one param.. value is " + param1); } //有參有返 public int thirdVal(int param1){ return param1; } //兩個(gè)參數(shù) public void fourth(char param1, char param2) { System.out.println("two params.. param1 is " + param1 + ",param2 is " + param2); } //多個(gè)參數(shù)1 public void fifth(String...params){ System.out.println("*type...param*"); for(String param:params){ System.out.print(param+" "); } } //錯(cuò)誤:public void fifth1(String...params,int a ) //多個(gè)參數(shù)2 public void sixth(String[] params){ System.out.println("*type[] param*"); for(String param:params){ System.out.print(param+" "); } } }
方法調(diào)用
使用static修飾的方法
//通過(guò)類直接調(diào)用static修飾的fourth()方法 MethodTest.first(); //也可以通過(guò)創(chuàng)建的對(duì)象調(diào)用static修飾的方法 method.first(); //static修飾的靜態(tài)方法 public static void first(){ System.out.println("static: no param..."); }
- 屬于這個(gè)類本身。
- 類和對(duì)象都可以調(diào)用。
- 類和對(duì)象調(diào)用的結(jié)果相同。
沒(méi)有static修飾的方法
//MethodTest.second();錯(cuò)誤 //創(chuàng)建實(shí)例對(duì)象,訪問(wèn)沒(méi)有static修飾的普通方法 MethodTest method = new MethodTest(); method.second();
//無(wú)static修飾的普通方法 public void second() { System.out.println("no param.."); }
- 屬于類的對(duì)象,不屬于類本身。
- 只能由對(duì)象作為調(diào)用者。
- 使用不同對(duì)象調(diào)用同一個(gè)方法,結(jié)果可能不同。
方法的定義格式
無(wú)參無(wú)返
//無(wú)參無(wú)返 public void second() { System.out.println("no param.."); }
無(wú)參有返
//無(wú)參有返 public int secondVal(){ return 10; }
有參無(wú)返
//有參無(wú)返 public void third(int param1) { System.out.println("one param.. value is " + param1); }
有參有返
//有參有返 public int thirdVal(int param1){ return param1; }
形參個(gè)數(shù)可變的方法
采用數(shù)組形參來(lái)定義
把數(shù)組作為形參加入形參列表中。類似于我們用的最多的public static void main(String[] args)相當(dāng)于main方法接收一個(gè)String類型的數(shù)組,也就是命令行參數(shù),關(guān)于命令行參數(shù),就暫時(shí)不提啦。
//多個(gè)參數(shù)2 public void sixth(String[] params){ System.out.println("*type[] param*"); for(String param:params){ System.out.print(param+" "); } }
只能接收數(shù)組。
可以出現(xiàn)在形參列表的任意位置。
采用JDK1.5新特性來(lái)定義
JDK1.5之后,可以在最后一個(gè)參數(shù)類型和參數(shù)名之間加上...
//多個(gè)參數(shù)1 public void fifth(String...params){ System.out.println("*type...param*"); for(String param:params){ System.out.print(param+" "); } } //需要在最后一個(gè)參數(shù)類型和參數(shù)名之間?。?! //錯(cuò)誤:public void fifth1(String...params,int a )
- 表明可以接收多個(gè)參數(shù)值,多個(gè)參數(shù)值被當(dāng)作數(shù)組傳入。
- 傳入?yún)?shù)形式可以是多個(gè)參數(shù)以‘,'相隔,也可以傳入數(shù)組。
- 只能處于參數(shù)列表之后,所以一個(gè)方法中最多只能有一個(gè)長(zhǎng)度可變的形參。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
k8s解決java服務(wù)下載超時(shí)問(wèn)題小結(jié)
我們?cè)谧遡ngress的java程序的時(shí)候,往往會(huì)有導(dǎo)出數(shù)據(jù)的功能,這個(gè)時(shí)候就會(huì)有因網(wǎng)絡(luò)慢、后臺(tái)處理時(shí)間過(guò)長(zhǎng)導(dǎo)致下載超時(shí),也有因下載文件太大,導(dǎo)致下載失敗,下面給分享k8s解決java服務(wù)下載超時(shí)問(wèn)題,感興趣的朋友跟隨小編一起看看吧2024-06-06mybatis createcriteria和or的區(qū)別說(shuō)明
這篇文章主要介紹了mybatis createcriteria和or的區(qū)別說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-07-07SpringBoot使用Redisson實(shí)現(xiàn)延遲執(zhí)行的完整示例
這篇文章主要介紹了SpringBoot使用Redisson實(shí)現(xiàn)延遲執(zhí)行的完整示例,文中通過(guò)代碼示例講解的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下2024-06-06SpringBoot全局配置long轉(zhuǎn)String丟失精度問(wèn)題解決方案
這篇文章主要介紹了SpringBoot全局配置long轉(zhuǎn)String丟失精度問(wèn)題解決方案,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-08-08Java編程實(shí)現(xiàn)對(duì)十六進(jìn)制字符串異或運(yùn)算代碼示例
這篇文章主要介紹了Java編程實(shí)現(xiàn)對(duì)十六進(jìn)制字符串異或運(yùn)算代碼示例,簡(jiǎn)述了異或運(yùn)算以及具體實(shí)例,具有一定借鑒價(jià)值,需要的朋友可以參考下。2017-12-12