目錄java
Java中的方法相似於面向過程程序設計中的函數,但與其不一樣的是,Java中的方法不能獨立存在,它屬於類或對象。既然方法屬於類或對象,那麼,方法的調用者就必須是類或對象。(固然,以後將會提到的同一個類中方法互相調用,實際上也是類或對象在做爲調用者)
仍是先上一段代碼:數組
package com.my.pac05; /** * @author Summerday * @date 2019/12/1 15:30 */ 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 fifth1(String...params,int a ) //多個參數2 public void sixth(String[] params){ System.out.println("*type[] param*"); for(String param:params){ System.out.print(param+" "); } } }
//經過類直接調用static修飾的fourth()方法 MethodTest.first(); //也能夠經過建立的對象調用static修飾的方法 method.first();
//static修飾的靜態方法 public static void first(){ System.out.println("static: no param..."); }
//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以後,能夠在最後一個參數類型和參數名之間加上...
命令行
//多個參數1 public void fifth(String...params){ System.out.println("*type...param*"); for(String param:params){ System.out.print(param+" "); } } //須要在最後一個參數類型和參數名之間!!! //錯誤:public void fifth1(String...params,int a )
參考書籍:《瘋狂Java》講義、《Java核心技術卷I》設計