您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關怎么在Java中定義形式和可變參數,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。
Java中的方法類似于面向過程程序設計中的函數,但與其不同的是,Java中的方法不能獨立存在,它屬于類或對象。既然方法屬于類或對象,那么,方法的調用者就必須是類或對象。(當然,之后將會提到的同一個類中方法互相調用,實際上也是類或對象在作為調用者)
還是先上一段代碼:
package com.my.pac05; public class MethodTest { public static void main(String[] args) { //通過類直接調用static修飾的first()方法 MethodTest.first(); //MethodTest.second();錯誤 //方法由static修飾,可以通過類直接調用static修飾的方法 //創建實例對象,訪問沒有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修飾的靜態方法 public static void first(){ System.out.println("static: no param..."); } //無參數(無參無返) public void second() { System.out.println("no param.."); } //無參有返 public int secondVal(){ return 10; } //一個參數(有參無返) public void third(int param1) { System.out.println("one param.. value is " + param1); } //有參有返 public int thirdVal(int param1){ return param1; } //兩個參數 public void fourth(char param1, char param2) { System.out.println("two params.. param1 is " + param1 + ",param2 is " + param2); } //多個參數1 public void fifth(String...params){ System.out.println("*type...param*"); for(String param:params){ System.out.print(param+" "); } } //錯誤:public void fifth2(String...params,int a ) //多個參數2 public void sixth(String[] params){ System.out.println("*type[] param*"); for(String param:params){ System.out.print(param+" "); } } }
方法調用
使用static修飾的方法
//通過類直接調用static修飾的fourth()方法 MethodTest.first(); //也可以通過創建的對象調用static修飾的方法 method.first(); //static修飾的靜態方法 public static void first(){ System.out.println("static: no param..."); }
屬于這個類本身。
類和對象都可以調用。
類和對象調用的結果相同。
沒有static修飾的方法
//MethodTest.second();錯誤 //創建實例對象,訪問沒有static修飾的普通方法 MethodTest method = new MethodTest(); method.second();
//無static修飾的普通方法 public void second() { System.out.println("no param.."); }
屬于類的對象,不屬于類本身。
只能由對象作為調用者。
使用不同對象調用同一個方法,結果可能不同。
方法的定義格式
無參無返
//無參無返 public void second() { System.out.println("no param.."); }
無參有返
//無參有返 public int secondVal(){ return 10; }
有參無返
//有參無返 public void third(int param1) { System.out.println("one param.. value is " + param1); }
有參有返
//有參有返 public int thirdVal(int param1){ return param1; }
形參個數可變的方法
采用數組形參來定義
把數組作為形參加入形參列表中。類似于我們用的最多的public static void main(String[] args)相當于main方法接收一個String類型的數組,也就是命令行參數,關于命令行參數,就暫時不提啦。
//多個參數2 public void sixth(String[] params){ System.out.println("*type[] param*"); for(String param:params){ System.out.print(param+" "); } }
只能接收數組。
可以出現在形參列表的任意位置。
采用JDK1.5新特性來定義
JDK1.5之后,可以在最后一個參數類型和參數名之間加上...
//多個參數1 public void fifth(String...params){ System.out.println("*type...param*"); for(String param:params){ System.out.print(param+" "); } } //需要在最后一個參數類型和參數名之間!!! //錯誤:public void fifth2(String...params,int a )
表明可以接收多個參數值,多個參數值被當作數組傳入。
傳入參數形式可以是多個參數以‘,'相隔,也可以傳入數組。
只能處于參數列表之后,所以一個方法中最多只能有一個長度可變的形參。
看完上述內容,你們對怎么在Java中定義形式和可變參數有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。